HierarchyBelongsTo

Dit prefix wordt gebruikt om een hiërarchietabel met bovenliggende-onderliggende objecten om te zetten in een tabel die bruikbaar is in een QlikView-gegevensmodel. Het prefix kan voor een LOAD- of SELECT-opdracht worden geplaatst en gebruikt het resultaat van de laadopdracht als invoer voor een tabeltransformatie.

Met het prefix maakt u een tabel waarin alle relaties tussen voorgangers en onderliggende elementen van de hiërarchie staan. Met de voorgangervelden kunt u vervolgens hele bomen in de hiërarchie selecteren. De uitvoertabel bevat in de meeste gevallen meerdere records per knooppunt.

Syntaxis:  

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

 

De invoertabel moet een aangrenzende knooppuntentabel zijn. Aangrenzende knooppuntentabellen zijn tabellen waarin elk record correspondeert met een knooppunt en een veld heeft dat de referentie naar het bovenliggende knooppunt bevat. In een dergelijke tabel wordt het knooppunt opgeslagen in slechts één record, maar kan het knooppunt wel meerdere onderliggende knooppunten hebben. De tabel kan natuurlijk aanvullende velden bevatten waarin kenmerken van de knooppunten worden beschreven.

U kunt een extra veld maken waarin het diepteverschil van de knooppunten wordt aangegeven.

Argumenten:  

Argument Beschrijving
NodeID De naam van het veld dat de knooppunt-ID bevat. Dit veld moet bestaan in de invoertabel.
ParentID De naam van het veld dat de knooppunt-ID van het bovenliggende knooppunt bevat. Dit veld moet bestaan in de invoertabel.
NodeName De naam van het veld dat de naam van het knooppunt bevat. Dit veld moet bestaan in de invoertabel.
AncestorID Een tekenreeks die wordt gebruikt voor het geven van een naam aan het nieuwe veld ancestor-ID. Hierin staat de ID van het voorgangerknooppunt.
AncestorName Een tekenreeks die wordt gebruikt voor het geven van een naam aan het nieuwe veld ancestor-ID. Hierin staat de naam van het voorgangerknooppunt.
DepthDiff Een tekenreeks die wordt gebruikt als naam voor het nieuwe veld DepthDiff. Hiermee wordt aangegeven wat de diepte van het knooppunt in de hiërarchie in relatie tot het voorgangerknooppunt. Optionele parameter. Als deze parameter wordt weggelaten, wordt dit veld niet gemaakt.

Voorbeeld:  

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

];

Resultaat:

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