Conferência Mundial QlikWorld 2020. Junte-se a nós para descobrir como tirar o máximo proveito dos seus dados. Atuar rápido. Registrar agora e salvar.

Carregando dados da hierarquia

Hierarquias irregulares com n níveis geralmente são usadas para representar dimensões geográficas ou organizacionais em dados, entre outras coisas. Estes tipos de hierarquias são geralmente armazenados em uma tabela de nós adjacentes, isto é, em uma tabela na qual cada registro corresponde a um nó e tem um campo que contém uma referência ao nó pai.

Tabela de nós
NodeID ParentNodeID Título
1 - Gerente geral
2 1 Gerente regional
3 2 Gerente de sucursal
4 3 Gerente de departamento

Em uma tabela como essa, o nó é armazenado em apenas um registro, mas ainda pode ter um número indefinido de filhos. A tabela pode conter campos adicionais que descrevem atributos para os nós.

Uma tabela de nós adjacentes é fácil de manter, mas difícil de usar em trabalhos do dia-a-dia. Em vez disso, em consultas e análises, outras representações são usadas. A tabela de nós expandidos é uma representação comum, na qual cada nível da hierarquia é armazenado em um campo separado. Os níveis de uma tabela de nós expandidos podem ser facilmente utilizados, por exemplo, em uma estrutura de árvore. A palavra-chave hierarchy pode ser usada no script de carga de dados para transformar uma tabela de nós adjacentes em uma tabela de nós expandidos.

Example:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Tabela de nós expandidos
NodeID ParentNodeID Título Title1 Title2 Title4 Title4
1 - Gerente geral Gerente geral - - -
2 1 Gerente regional Gerente geral Gerente regional - -
3 2 Gerente de sucursal Gerente geral Gerente regional Gerente de sucursal -
4 3 Gerente de departamento Gerente geral Gerente regional Gerente de sucursal Gerente de departamento

Um dos problemas da tabela de nós expandidos é que não é fácil usar os campos de nível para realizar pesquisas ou seleções, já que é necessário ter um conhecimento prévio sobre o nível que se deseja pesquisar ou selecionar. A tabela de ancestrais é uma representação diferente que resolve esse problema. Essa representação também é chamada de tabela de ponte.

A tabela de ancestrais contém um registro para cada relação filho-ancestral encontrada nos dados. Ela contém as chaves e os nomes dos filhos e dos ancestrais. Ou seja, cada registro descreve a qual nó um nó específico pertence. A palavra-chave hierarchybelongsto pode ser usada no script de carga de dados para transformar uma tabela de nós adjacentes em uma tabela de ancestrais.

See also: