Ir para conteúdo principal Pular para conteúdo complementar

Hierarchy

O prefixo hierarchy é usado para transformar uma tabela de hierarquia pai-filho em uma tabela útil em um modelo de dados do Qlik Sense. Ele pode ser colocado na frente de um comando LOAD ou SELECT e usará o resultado do comando de carregamento como entrada para uma transformação de tabela.

O prefixo cria uma tabela de nós expandidos, que normalmente tem o mesmo número de registros como a tabela de entrada, mas cada nível na hierarquia é armazenado em um campo à parte. O campo do caminho pode ser usado em uma lista em árvore.

Sintaxe:  

Hierarchy (NodeID, ParentID, NodeName, [ParentName, [PathSource, [PathName, [PathDelimiter, Depth]]]])(loadstatement | selectstatement) 

 

A tabela de entrada deve ser uma tabela de nós adjacentes. As tabelas de nós adjacentes são tabelas em que cada registro corresponde a um nó e tem um campo que contém uma referência para o nó pai. Em uma tabela como essa, o nó é armazenado em apenas um registro, mas o nó ainda pode ter um número indefinido de filhos. A tabela pode conter campos adicionais que descrevem atributos para os nós.

O prefixo cria uma tabela de nós expandidos, que normalmente tem o mesmo número de registros como a tabela de entrada, mas cada nível na hierarquia é armazenado em um campo à parte. O campo do caminho pode ser usado em uma lista em árvore.

Normalmente, a tabela de entrada possui exatamente um registro por nó e, nesse caso, a tabela de saída conterá o mesmo número de registros. Contudo, em alguns casos há nós com vários pais, ou seja, um nó é representado por diversos registros na tabela de entrada. Nesse caso, a tabela de saída pode ter mais registros do que a tabela de entrada.

Todos os nós com um ID pai não encontrado na coluna ID do nó (inclusive nós com ID pai não encontrado) serão considerados raiz. Além disso, somente os nós com uma conexão com um nó raiz, direta ou indireta, serão carregados, evitando-se referências circulares.

Campos adicionais que contêm o nome do nó pai, o caminho do nó e a profundidade do nó podem ser criados.

Argumentos:  

Argumentos
Argumento Descrição
NodeID O nome do campo que contém a id do nó. O campo deve existir na tabela de entrada.
ParentID O nome do campo que contém a id do nó do nó pai. O campo deve existir na tabela de entrada.
NodeName O nome do campo que contém o nome do nó. O campo deve existir na tabela de entrada.
ParentName Uma string usada para atribuir um nome ao novo campo ParentName. Se omitido, esse campo não será criado.
ParentSource O nome do campo que contém o nome do nó usado para criar o caminho do nó. Parâmetro opcional. Se omitido, NodeName será usado.
PathName Uma string usada para nomear o novo campo Path, que contém o caminho da raiz até o nó. Parâmetro opcional. Se omitido, esse campo não será criado.
PathDelimiter Uma string usada como delimitador no novo campo Path. Parâmetro opcional. Se omitido, '/' será usado.
Depth Uma string usada para atribuir um nome ao novo campo Depth, que contém a profundidade do nó na hierarquia. Parâmetro opcional. Se omitido, esse campo não será criado.

Exemplo:  

Hierarchy(NodeID, ParentID, NodeName, ParentName, NodeName, PathName, '\', Depth) LOAD * inline [

NodeID, ParentID, NodeName

1, 4, London

2, 3, Munich

3, 5, Germany

4, 5, UK

5, , Europe

];

 

NodeID ParentIDNodeNameNodeName1NodeName2NodeName3ParentNamePathNameDepth
14LondonEuropeUKLondonUKEurope\UK\London3
23MunichEuropeGermanyMunichGermanyEurope\Germany\Munich3
35GermanyEuropeGermany-EuropeEurope\Germany2
45UKEuropeUK-EuropeEurope\UK2
5 EuropeEurope---Europe1

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!