Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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?
Olá,
Vejam esse exemplo.
TMP_Dados:
Hierarchy(NodeID, ParentID, NodeName)
LOAD
Text(NodeID) AS NodeID,
Text(ParentID) AS ParentID,
Text(NodeID)&' - '&NodeName AS NodeName
INLINE [
ParentID, NodeID, NodeName
, 1, Ativo
1, 1.1, Ativo Circulante
1.1, 1.1.01, Disponivel
1.1.01, 1.1.01.01, Caixa
1.1.01, 1.1.01.02, Bancos Conta Movimento
1.1.01, 1.1.01.03, Aplicações Financeiras
1.1, 1.1.02, Realizável
1.1.02, 1.1.02.01, Clientes
1.1.02, 1.1.02.02, ( - ) Desconto de duplicatas
1.1.02, 1.1.02.03, Adiantamento Diversos
1.1.02, 1.1.02.04, Outras contas a receber
1.1, 1.1.03, Estoques
1.1, 1.1.04, Valores e Créditos Recuperáveis
1.1, 1.1.05, Despesas do Exercício Seguinte
1, 1.2, Ativo Não Circulante
1.2, 1.2.1, Realizavel a Longo Prazo
1.2, 1.2.2, Investimentos
1.2, 1.2.3, Imobilizado
1.2, 1.2.4, Intangível
];
Dados:
NoConcatenate
LOAD
NodeID,
NodeName,
NodeName1,
RangeMaxString(NodeName2,NodeName1) AS NodeName2,
RangeMaxString(NodeName3,NodeName2,NodeName1) AS NodeName3,
RangeMaxString(NodeName4,NodeName3,NodeName2,NodeName1) AS NodeName4,
ParentID
Resident TMP_Dados
Order By NodeID;
Drop Table TMP_Dados;
Don't worry, be Qlik.
Tonial
Tonial,
Muito obrigado, testei aqui, consegui adaptar ao meu modelo e ficou show de bola!
Funcionou da forma correta e eu enfim consegui tirar a cadeia de 'IF' que tive que fazer nas dimensões para "limitar" a mesma quando chegasse ao seu último nível.
Obrigado!!!!
Até que enfim.
Don't worry, be Qlik.
Tonial.
Eu ainda estou encontrando dificuldades...
Aplicando a lógica do script, tive problema quando o "Node1" não tem "filhos". A situação de quando não tem todos os níveis, porém, foi resolvida. Veja no print.
O primeiro quadro é o resultado do hierarchy puro. O segundo, com o script sugerido. O Node1 "INÍCIO", que não tem filho Node2 sumiu.
Agradeço de antemão o apoio.