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 |