Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

HierarchyBelongsTo

Prefiks ten służy do przekształcenia tabeli hierarchii nadrzędne-podrzędne w tabelę nadającą się do użycia w modelu danych Qlik Sense. Podanie go przed instrukcją LOAD lub SELECT sprawi, że wynik instrukcji ładującej będzie używany jako dane wejściowe dla transformacji tabeli.

Prefiks powoduje utworzenie tabeli zawierającej wszystkie relacje nadrzędny-podrzędny w całej hierarchii. Wybierając pola nadrzędne, można następnie wybierać całe drzewa hierarchii. Tabela wyjściowa zwykle zawiera kilka rekordów dla każdego węzła.

Składnia:  

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

 

Tabela wejściowa musi być tabelą węzłów sąsiadujących. Tabela węzłów sąsiadujących to tabela, w której każdy rekord odpowiada jednemu węzłowi i zawiera pole z odwołaniem do węzła macierzystego. W takiej tabeli każdy węzeł jest zapisany tylko w jednym rekordzie, ale mimo to może mieć dowolną liczbę węzłów potomnych. Tabela może oczywiście zawierać dodatkowe pola opisujące atrybuty węzłów.

Prefiks powoduje utworzenie tabeli zawierającej wszystkie relacje nadrzędny-podrzędny w całej hierarchii. Wybierając pola nadrzędne, można następnie wybierać całe drzewa hierarchii. Tabela wyjściowa zwykle zawiera kilka rekordów dla każdego węzła.

Można utworzyć dodatkowe pole opisujące różnice między głębokością węzłów.

Argumenty:  

Argumenty
Argument Opis
NodeID Nazwa pola zawierającego identyfikator węzła. To pole musi istnieć w tabeli wejściowej.
ParentID Nazwa pola zawierającego identyfikator węzła nadrzędnego. To pole musi istnieć w tabeli wejściowej.
NodeName Nazwa pola zawierającego nazwę węzła. To pole musi istnieć w tabeli wejściowej.
AncestorID Ciąg znaków używany do nazwania nowego pola identyfikatora węzła nadrzędnego, które zawiera identyfikator węzła nadrzędnego.
AncestorName Ciąg znaków używany do nazwania nowego pola węzła nadrzędnego, które zawiera nazwę węzła nadrzędnego.
DepthDiff Ciąg znaków używany do nazwania nowego pola DepthDiff, które zawiera głębokość węzła w hierarchii względem węzła nadrzędnego. Parametr opcjonalny. W przypadku pominięcia to pole nie zostanie utworzone.

Przykład:  

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 AncestorIDNodeNameAncestorNameDepthDiff
11LondonLondon0
14LondonUK1
15LondonEurope2
22MunichMunich0
23MunichGermany1
25MunichEurope2
33GermanyGermany0
35GermanyEurope1
44UKUK0
45UKEurope1
55EuropeEurope0

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!