# HierarchyBelongsTo

Detta prefix används för att omvandla en överordnad-underordnad hierarkisk tabell till en tabell som fungerar i en QlikView-datamodell. Det kan sättas framför en LOAD- eller SELECT-sats och det använder resultatet från den laddade satsen som indata för en tabellomvandling.

Prefixet genererar en tabell som visar alla relationer mellan moder och dotter i hierarkin. Moderfälten kan sedan användas för att välja hela träd i hierarkin. Utdatatabellen innehåller i de flesta fall flera poster per nod.

Syntax:

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

Indatatabellen måste vara en ”adjacent nodes”-tabell. ”Adjacent nodes”-tabeller är tabeller där varje post motsvarar en nod och har ett fält som innehåller en referens till modernoden. I en sådan tabell lagras noden i en post men kan ha valfritt antal döttrar. Tabellen kan självklart innehålla ytterligare fält som beskriver nodernas attribut.

Ett ytterligare fält som innehåller djupskillnaden mellan noderna kan skapas.

Argument:

HierarchyBelongsTo-argument

| Argument | Beskrivning |
| --- | --- |
| NodeID | Namnet på det fält som innehåller nodens ID. Detta fält måste förekomma i indatatabellen. |
| ParentID | Namnet på det fält som innehåller modernodens nod-ID. Detta fält måste förekomma i indatatabellen. |
| NodeName | Namnet på det fält som innehåller nodens namn. Detta fält måste förekomma i indatatabellen. |
| AncestorID | En sträng som används för att namnge det nya fältet för överordnat ID som innehåller den överordnade nodens ID. |
| AncestorName | En sträng som används för att namnge det nya fältet Förfaders-ID som innehåller modernodens namn. |
| DepthDiff | En sträng som används för att namnge det nya DepthDiff-fältet som innehåller djupet på noden i hierarkin i förhållande till modernoden. Valfri parameter. Om den utelämnas skapas ej detta fält. |

Exempel:

`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` `];`

**Resultat:**

Exempel 1

| 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 |

## Mer information

* [Load](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/Select.htm)
* [Hierarkier](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/DataSource/Hierarchies.htm)