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:  

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:

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

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?