Saltar al contenido principal Saltar al contenido complementario

HierarchyBelongsTo

Este prefijo se utiliza para transformar una tabla jerárquica padre-hijo en una tabla que sea útil en un modelo de datos Qlik Sense. Se puede poner frente a una sentencia LOAD o SELECT y usará el resultado de la sentencia de carga como datos de entrada para una transformación de tabla.

El prefijo crea una tabla que contiene todas las relaciones hijo-antepasado de la jerarquía. Los campos de antepasados pueden de esta forma utilizarse para seleccionar árboles enteros en la jerarquía. La tabla resultante contiene normalmente varios registros por nodo.

Sintaxis:  

HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)

 

La tabla de entrada debe ser una tabla de nodos adyacentes. Las tablas de nodos adyacentes son tablas en las que cada registro se corresponde con un nodo y tiene un campo que contiene una referencia al nodo padre. En este tipo de tabla, el nodo se almacena en un único registro, pero puede tener un número indeterminado de hijos. La tabla puede por supuesto contener campos adicionales que describan atributos para los nodos.

El prefijo crea una tabla que contiene todas las relaciones hijo-antepasado de la jerarquía. Los campos de antepasados pueden de esta forma utilizarse para seleccionar árboles enteros en la jerarquía. La tabla resultante contiene normalmente varios registros por nodo.

Se puede crear un campo adicional que contenga la diferencia de profundidad entre los nodos.

Argumentos:  

Argumentos
Argumento Descripción
NodeID El nombre del campo que contiene el ID de nodo. Este campo debe existir en la tabla de entrada.
ParentID El nombre del campo que contiene el ID de nodo del nodo padre. Este campo debe existir en la tabla de entrada.
NodeName El nombre del campo que contiene el nombre del nodo. Este campo debe existir en la tabla de entrada.
AncestorID Una cadena que se emplea para nombrar el nuevo campo de ID del antepasado, el cual contiene el ID del nodo antepasado.
AncestorName Es una cadena que se emplea para nombrar el nuevo campo del antepasado, el cual contiene el nombre del nodo antepasado.
DepthDiff Una cadena utilizada para nombrar el nuevo campo DepthDiff, que contiene la profundidad del nodo en la jerarquía relativa al nodo antepasado. Se trata de un parámetro opcional. Si se omite, dicho campo no se creará.

Ejemplo:  

HierarchyBelongsTo (NodeID, AncestorID, NodeName, AncestorID, AncestorName, DepthDiff) LOAD * inline [

NodeID, AncestorID, NodeName

1, 4, London

2, 3, Munich

3, 5, Germany

4, 5, UK

5, , Europe

];

 

Results
NodeID AncestorID NodeName AncestorName DepthDiff
1 1 London London 0
1 4 London UK 1
1 5 London Europe 2
2 2 Munich Munich 0
2 3 Munich Germany 1
2 5 Munich Europe 2
3 3 Germany Germany 0
3 5 Germany Europe 1
4 4 UK UK 0
4 5 UK Europe 1
5 5 Europe Europe 0

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.