Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como tratar um array?

Senhores, bom dia!

Estou com um problema trabalho com o datasul e em uma tabela do movimento da folha eu tenho 3 campos array onde são delimitados por ';' são os códigos do evento, quantidade do evento e valor do evento. Como eu posso separar este array fazendo com que cada código de evento seja um registro e vem com seu respectivo valor e quantidade? Os campos vem representados como o exemplo abaixo:

cdn_evento_fp --> 001;031;800;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;...

qtd_event_fp -->   180;40;220;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;...

val_event_fp --> 1000.00;200.00;1200;00;0;0;0;0;0;0;0;0;0;0;0;...

1 Solution

Accepted Solutions
rphpacheco
Creator III
Creator III

Você poderá tratar este campo array utilizando a função Subfield().

Dê uma olhada no exemplo que fiz

Abraço!

View solution in original post

4 Replies
rphpacheco
Creator III
Creator III

Você poderá tratar este campo array utilizando a função Subfield().

Dê uma olhada no exemplo que fiz

Abraço!

Not applicable
Author

É amigo, funcionou eu estava fazendo de forma errada, como o meu array é de 30 tenho que tratar as 30 posições.

Obrigado!

Not applicable
Author

Raphael, só pra te dar um retorno a sintaxe ficou da seguinte forma:

NoConcatenate Movimento_Folha_cdn:

LOAD cdn_categ_sal,

     cdn_empresa,

     cdn_estab,

     cdn_funcionario,

     num_ano_refer_fp,

     num_mes_refer_fp,

     subfield(cdn_event_fp, ';', IterNo()) as evento, 

     subfield(qtd_unid_event_fp, ';', IterNo()) as qtdevento, 

     subfield(val_calcul_efp, ';', IterNo()) as valevento     

Resident Movimento_Folha1

While subfield(cdn_event_fp, ';', IterNo())>0;

rphpacheco
Creator III
Creator III

Boa opção em usar o IterNo() para definir as posições de cada informação