Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
JOAODS
Contributor II
Contributor II

2 comandos FOR simultâneos

Senhores boa noite,

 

tenho uma duvida de como fazer 2 comandos FOR de forma simultânea em uma tabela, caso seja possível qual seria o melhor prático? caso não será para essa situação que seria melhor medida a adotar?

 

Siga o roteiro até o momento;

FOR v = 2 to 24
FOR i = 7 to 29
LOAD
ID,
TEXT('$(vDataSumarizacao$(v))') as DATA_HORA,
NUM(MID(@1,1+'$(vContador$(i))',4)) as C1,
NUM(MID(@1,5+'$(vContador$(i))',4)) as C2,
NUM(MID(@1,9+'$(vContador$(i))',4)) as C3
Resident IMPORT_ARQUIVO
WHERE MAP_LINE = 9;
NEXT

 

Desde já grato pela ajuda.

Labels (1)
1 Solution

Accepted Solutions
Thiago_Justen_
MVP
MVP

Boa noite @JOAODS ,

 

Não está muito claro pra mim o que fato você quer então vou te dar uma resposta com um exemplo genérico (aproveitando a pergunta que você fez na comunidade Brasil).

Set vPasso = 500;
For n=0 to 11
	Let m = $(n)+1;
	Let vTime$(m) = Num($(n) * $(vPasso),'000000');   
Next n
For i=1 to 12 step 2
	Pares:
	Load 
      $(i)+1		as i,
      $(vTime$(i))	as vTime
    AutoGenerate (1);

Next i

 

Daí o resultado para isso seriam os times pares gerados no primeiro For..Next.

thiago_justen_1-1646968983109.png

 

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

2 Replies
Thiago_Justen_
MVP
MVP

Boa noite @JOAODS ,

 

Não está muito claro pra mim o que fato você quer então vou te dar uma resposta com um exemplo genérico (aproveitando a pergunta que você fez na comunidade Brasil).

Set vPasso = 500;
For n=0 to 11
	Let m = $(n)+1;
	Let vTime$(m) = Num($(n) * $(vPasso),'000000');   
Next n
For i=1 to 12 step 2
	Pares:
	Load 
      $(i)+1		as i,
      $(vTime$(i))	as vTime
    AutoGenerate (1);

Next i

 

Daí o resultado para isso seriam os times pares gerados no primeiro For..Next.

thiago_justen_1-1646968983109.png

 

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_
MVP
MVP

Olá @JOAODS,

Postei aqui a resposta mas devo ter saído da página sem confirmar o post (acho que tô ficando velho).

Segue, usando o exemplo que você deixou na comunidade Brasil:

Set vPasso = 500;
For n=0 to 11
	Let m = $(n)+1;
	Let vTime$(m) = Num($(n) * $(vPasso),'000000');   
Next n
For i=1 to 12 step 2
	Pares:
	Load 
      $(i)+1 		as i,
      $(vTime$(i))	as vTime
    AutoGenerate (1);

Next i

 

O resultado dessa rotina é carregar somente os times pares criados no primeiro For..Next. Veja:

thiago_justen_0-1647058946531.png

Espero que isso te inspire a construir seu script.

Confesso que não entendi muito bem o que você pretendia, por isso me coloco à disposição caso necessite de mais algum help.

 

Abs e Sucesso!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago