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

Preencher Espaços do Hierarchy

Estou trabalhando num projeto com projetos e "n" tarefas dentro de cada projeto. As tarefas tem um encadeamento entre si. Para visualizá-las de forma encadeada, estou usando a função hierarchy com o seguinte script:

Hierarchy(ID_TASK,PARENTTASK,TASK)

O comando gerou corretamente a árvore de tarefas em até 7 níveis em alguns casos. Ocorre que há "árvores" com apenas 1 nível, 3 níveis, etc deixando os demais, até o 7º vazios. Meu desejo é repetir o nível anterior quando o próximo estiver nulo.

Exemplo...

N1 - A,

N2 - B,

N3 - C,

N4 - Null,

N5 - Null

Virar 

A, B, C, C, C (repetir o N3 no N4 e no N5, uma vez que não tem valor).

Ideias? 

Qliking since '09
1 Solution

Accepted Solutions
fernando_tonial
Partner - Specialist
Partner - Specialist

Bom dia.

Depois de montar a sua árvore completa, faça uma nova leitura para preencher o níveis.

NOVATABELA:
NOCONCATENATE
LOAD
N1,
ALT(N2,N1) as N2,
ALT(N3,N2,N1) as N3,
ALT(N4,N3,N2,N1) as N4,
ALT(N5,N4,N3,N2,N1) as N5
RESIDENT TABELA;

Don't worry, be Qlik.
Tonial.

Don't Worry, be Qlik.

View solution in original post

13 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Bom dia.

Depois de montar a sua árvore completa, faça uma nova leitura para preencher o níveis.

NOVATABELA:
NOCONCATENATE
LOAD
N1,
ALT(N2,N1) as N2,
ALT(N3,N2,N1) as N3,
ALT(N4,N3,N2,N1) as N4,
ALT(N5,N4,N3,N2,N1) as N5
RESIDENT TABELA;

Don't worry, be Qlik.
Tonial.

Don't Worry, be Qlik.
pedromsouza
Creator
Creator
Author

Fernando, muito obrigado! Funcionou perfeitamente. Sabia que havia algo mais prático que fazer um IF enorme encadeado.

Qliking since '09
vandrecarlos
Contributor III
Contributor III

@fernando_tonial,

 

Realizei a aplicação da sua fórmula com ALT() no meu modelo de hierarquia para realizar o mesmo preenchimento que é o problema do nosso amigo em questão.

Ao utilizar o ALT() ele está me retornando em todos os campos da minha árvore o valor N1 ao invés do valor anterior, que poderia ser N2, N3, N4, N5 ou até N6, para o caso de N7 ser NULL.

pedromsouza
Creator
Creator
Author

Exato! Estava tentando ajeitar isso aqui. 

Qliking since '09
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

muito boa a forma de resolver.
furtado@farolbi.com.br
fernando_tonial
Partner - Specialist
Partner - Specialist

Pode compartilhar alguns dados de exemplo para verificar.

Don't Worry, be Qlik.
pedromsouza
Creator
Creator
Author

O Sense tem aquele recurso de "embaralhar" pra eu colocar aqui a aplicação?

Qliking since '09
vandrecarlos
Contributor III
Contributor III

@fernando_tonial 

 

Segue em anexo a minha parte de scrip e o resultado no gráfico.

 

Os valores que podem ser notados em "Texto2" a diante são os mesmos valores presentes em "Texto", que é o meu 'N1', no caso.

 

Parte GráficaParte GráficaScript 1Script 1Script 2Script 2

pedromsouza
Creator
Creator
Author

Agradeço o exemplo. Ocorre o mesmo aqui.

Qliking since '09