Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dúvidas na criação de relatório

Olá amigos, tudo bem?

Sou iniciante no Qlik e estou com algumas dúvidas para criar um relatório

Estou usando como base alguns arquivos do Excel e gostaria de criar algumas colunas no Qlik (mês, ano e estrutura), na verdade eu consegui criar mas não consigo colocar os valores nelas, e na coluna estrutura eu preciso cria uma condição de que se o código começar com 61 colocar "Knitted" se não "Woven".

Outra dúvida

Tem alguma maneira de somente colocar o arquivo base na pasta e o qlik atualiza sem precisar mexer no código

Ex:

Tenho uma pasta os arquivos base1 e base2, ai coloco base3, depois abro o qlik e atualizo (Ctrl + R) e as informações da base3 já aparecem no relatório.

Vou anexar o arquivo que criei no Qlik, as bases e o relatório que fiz como exemplo no excel.

Obrigado pela ajuda.

Labels (1)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Boa tarde!

Para a coluna Structure, você pode fazer ela da seguinte forma:

if(left([Código SH8],2) = '61', 'Knitted','Woven') as Structure

Com o load abaixo, o script irá carregar todos os arquivos que iniciem com "aliceweb", desta forma não será necessário adicionar cada novo arquivo.

For each ExcelFile in filelist ('aliceweb*.xls')

  [Aliceweb]:

  LOAD [Código SH8],

  [Descrição do SH8],

  [US$ de P1],

  [Kg Líquido de P1],

  [Quantidade de P1],

  Year,

  Month,

  if(left([Código SH8],2) = '61', 'Knitted','Woven') as Structure

  FROM

  [$(ExcelFile)]

  (biff, embedded labels, table is Aliceweb_parte_1$, filters(

  Remove(Row, Pos(Top, 10)),

  Remove(Row, Pos(Top, 9)),

  Remove(Row, Pos(Top, 8)),

  Remove(Row, Pos(Top, 7)),

  Remove(Row, Pos(Top, 6)),

  Remove(Row, Pos(Top, 5)),

  Remove(Row, Pos(Top, 4)),

  Remove(Row, Pos(Top, 3)),

  Remove(Row, Pos(Top, 2)),

  Remove(Row, Pos(Top, 1)),

  ColXtr(5, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(6, 'Ano'),

  ColXtr(6, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(7, 'Mês'),

  Top(6, 'Year'),

  Top(7, 'Month'),

  ColXtr(7, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(8, 'Structure')

  ));

next ExcelFile;

Espero ter ajudado. Qualquer dúvida é só falar.

Att,

Gabriel

View solution in original post

7 Replies
Anonymous
Not applicable
Author

Boa tarde!

Para a coluna Structure, você pode fazer ela da seguinte forma:

if(left([Código SH8],2) = '61', 'Knitted','Woven') as Structure

Com o load abaixo, o script irá carregar todos os arquivos que iniciem com "aliceweb", desta forma não será necessário adicionar cada novo arquivo.

For each ExcelFile in filelist ('aliceweb*.xls')

  [Aliceweb]:

  LOAD [Código SH8],

  [Descrição do SH8],

  [US$ de P1],

  [Kg Líquido de P1],

  [Quantidade de P1],

  Year,

  Month,

  if(left([Código SH8],2) = '61', 'Knitted','Woven') as Structure

  FROM

  [$(ExcelFile)]

  (biff, embedded labels, table is Aliceweb_parte_1$, filters(

  Remove(Row, Pos(Top, 10)),

  Remove(Row, Pos(Top, 9)),

  Remove(Row, Pos(Top, 8)),

  Remove(Row, Pos(Top, 7)),

  Remove(Row, Pos(Top, 6)),

  Remove(Row, Pos(Top, 5)),

  Remove(Row, Pos(Top, 4)),

  Remove(Row, Pos(Top, 3)),

  Remove(Row, Pos(Top, 2)),

  Remove(Row, Pos(Top, 1)),

  ColXtr(5, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(6, 'Ano'),

  ColXtr(6, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(7, 'Mês'),

  Top(6, 'Year'),

  Top(7, 'Month'),

  ColXtr(7, RowCnd(CellValue, 1, StrCnd(null)), 0),

  Top(8, 'Structure')

  ));

next ExcelFile;

Espero ter ajudado. Qualquer dúvida é só falar.

Att,

Gabriel

nicolett_yuri

É importante ressaltar que cada uma dessas planilhas que será alimentada automaticamente DEVE possuir o mesmo nome de aba, mesmo padrão de nome e mesmo nome de colunas, caso contrário dará erro!

Not applicable
Author

Obrigado Gabriel, eu consegui aqui ^^

Agora e no caso das datas como posso fazer para colocar?

Not applicable
Author

Yuri, eu ja imaginei isso.

Anonymous
Not applicable
Author

Você deseja pegar a data do nome do arquivo?

Se sim, desta forma deve funcionar:

Right(Replace('$(ExcelFile)',Right('$(ExcelFile)',6),''),4) as Year,

Right(Replace('$(ExcelFile)',Right('$(ExcelFile)',4),''),2) as Month

Basicamente, vai pegar a variável "ExcelFile" (onde é gravado o nome do arquivo) e vai trabalhar ela de modo que traga apenas a informação de ano e mês.

Att,

Gabriel

Not applicable
Author

Obrigado Gabriel, deu certinho.

Uma ultima dúvida

Eu entendi que o relatório gerado pelo Qlik tem que ficar no mesmo local que as bases mas eu tenho uma pasta com as bases do ano de 2013 e quero colocar ela também, como faço para acrescentar essa pasta no relatório?

Anonymous
Not applicable
Author

O relatório gerado pelo Qlikview não precisa ficar na mesma pasta que as bases.

Basta você ao invés de utilizar apenas o nome do arquivo, passar o diretório também. Aconcelho até a criar variáveis com o endereço do diretório, para ficar mais fácil a manutenção. No teu caso, com arquivos de 2014 e 2013, uma alternativa seria o que está no arquivo em anexo.

Espero ter ajudado.

Gabriel