Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
maiconmello
Creator III
Creator III

Variável com mais valores e filtro no load

Bom dia , estou com algumas dúvidas para criação de uma variável. 

Faço a leitura de um TXT, onde tenho campos de Região. 

Exemplo  : 

LOAD
@1 as user
FROM [lib://Arquivos/includeuser.txt]
(txt, codepage is 28592, no labels, delimiter is '\t', msq);

//exit Script;

LET vuser = Peek('user',0);  //Aqui defino a Variavel para usar no load. 

Minha dúvida é, como devo tratar quando tenho mais de um valor no meu txt ? 

Exemlo : 'Minas', 'Parana', 'SUL'  - - Como vai receber esses 3 valores ? 

 

No meu load quero fazer um filtro com a variavel : 

LOAD
*
FROM [lib://Arquivos/Cidades Vendedores.xlsx](ooxml, embedded labels, table is Planilha1)
where match(Localizacao,'$(vuser)');

Mas quando é mais valores ele não filtra. Como tenho que armazenar essa informação no TXT ? 

Queria que ficasse assim : 

LOAD
*
FROM [lib://Arquivos/Cidades Vendedores.xlsx](ooxml, embedded labels, table is Planilha1)
where match(Localizacao,'PARANA','MINAS', 'SUL'); //Mas recebendo isso pela variável. 

 

1 Solution

Accepted Solutions
danilostochi
Creator II
Creator II

Boa tarde, já precisei fazer algo parecido...

https://community.qlik.com/t5/Qlik-Brasil/Execu%C3%A7%C3%A3o-de-um-script-tendo-uma-lista-de-materia...

 

SET vMaterial= '51762, 51858'; //lista de materiais sera via .txt

ListaMaterial:
LOAD SubField('$(vMaterial)',',') as MaterialLista AutoGenerate(1);//Transforma a linha de materiais em uma lista de materiais

FOR vCont = 0 to NoOfRows('ListaMaterial')
LET vArray = Peek('MaterialLista', $(vCont), 'ListaMaterial');



//no final do script é adicionado
NEXT
EXIT SCRIPT

 

Neste caso ele vai criando a lista no tempo de execução.

+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com

View solution in original post

2 Replies
danilostochi
Creator II
Creator II

Boa tarde, já precisei fazer algo parecido...

https://community.qlik.com/t5/Qlik-Brasil/Execu%C3%A7%C3%A3o-de-um-script-tendo-uma-lista-de-materia...

 

SET vMaterial= '51762, 51858'; //lista de materiais sera via .txt

ListaMaterial:
LOAD SubField('$(vMaterial)',',') as MaterialLista AutoGenerate(1);//Transforma a linha de materiais em uma lista de materiais

FOR vCont = 0 to NoOfRows('ListaMaterial')
LET vArray = Peek('MaterialLista', $(vCont), 'ListaMaterial');



//no final do script é adicionado
NEXT
EXIT SCRIPT

 

Neste caso ele vai criando a lista no tempo de execução.

+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com
danilostochi
Creator II
Creator II

@maiconmello  deu certo? se sim, marque como resposta correta, att.

+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com