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: 
LeoSeixas
Contributor
Contributor

Para cada registro de uma tabela, tenho que varrer outra tabela.

Olá Pessoal, sou novato na comunidade e iniciei os trabalhos com Qlikview há uns 6 meses somente.

Tenho certeza que minha dúvida é básica , mas para o meu conhecimento atual está um pouco complexa pra mim.

Tenho duas tabelas, uma com todas as demandas e outras com as etapas. Mais ou menos algo como abaixo:

Demanda:

LeoSeixas_0-1596212415408.png

A tabela de demandas já está carregada previamente. 

Etapas:

LeoSeixas_1-1596212468206.png

 

Eu preciso pra cada demanda_id ler esses quatros registros (sempre serão 4 registros) e avaliar o campo STATE (ultimo campo) na condições abaixo:

Se tiver tudo como NOVO, tenho que criar um campo ETAPA com o conteúdo "NÃO FORMALIZADO"

Se tiver tudo como PRONTO, tenho que criar um campo ETAPA com o conteúdo "CONCLUÍDO"

Os registros que estiverem com "Em Desenvolvimento" tenho que pegar o conteúdo do campo ARVORE_PROJETO_GS_NAME (se tiver mais de um, como no exemplo acima, tenho que concatenar) e criar o  um campo ETAPA com esse conteúdo.

 

Muito obrigado

Leo Seixas

2 Replies
TiagoCardoso
Creator II
Creator II

Olá, boa tarde.

O trecho de código abaixo você pode utilizar no script de carga, na tabela em que exista o campo, para criar esse novo campo com esses parâmetros que você quer.

 

TABELA:

LOAD

   [ Seus campos normalmente aqui],

  ARVORE_PROJETO_GS_STATE,

   IF(ARVORE_PROJETO_GS_STATE = 'Novo', 'Não Formalizado',

      IF(ARVORE_PROJETO_GS_STATE = 'Pronto', 'Concluído', 'Em Desenvolvimento'))   AS ETAPA

FROM ....;

Fiz dois IFs aninhados para tratar os valores quando forem = 'Novo', preencher o campo ETAPA com 'Não Formalizado,

Quando for 'Pronto', preencher o campo ETAPA com 'Concluído', e como sobrou aparentemente o 'Em Desenvolvimento' por último e você não pediu nada, apenas repliquei o valor para não ficar sem tratamento algum e cair como nulo dento do campo ETAPA.

Abaixo, link da documentação do IF(), que pode ser usado em gráfico e em script.

https://help.qlik.com/pt-BR/sense/June2020/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFun...

LeoSeixas
Contributor
Contributor
Author

Tiago, obrigado pelo seu retorno.

a utilização do IF certamente vai ser fundamental mas acho que o meu problema ainda é maior. 

Para eu definir que o projeto está "Não formalizado" , todos os 4 registros deverão está com o campo STATE = "Novo".

A mesmo coisa para "Concluido", todos os 4 registros deverão está com o campo STATE = "Pronto".

Se um (ou mais campos)  dos campos estiver com status "Em desenvolvimento" , tenho que pegar o campo NAME e usar no novo campos ETAPA. Caso tenha mais de um , terei que concatenar .

 

Acho que terei que usar um FOR EACH, FOR, WHILE, ou algo do gênero, não?

 

muito obrigado pela ajuda,

Leo