Opis funkcji hierarchii nadrzędny-podrzędny w DAX
DAX oferuje pięć funkcji ułatwiających użytkownikom zarządzanie danymi, które są prezentowane jako hierarchia nadrzędny-podrzędny w swoich modelach. Dzięki tym funkcjom użytkownik może uzyskać cały wiersz pochodzenia elementów nadrzędnych, ile poziomów ma pochodzenie do najwyższego elementu nadrzędnego, który jest nadrzędnym n-poziomami powyżej bieżącego wiersza, który jest elementem n-potomnym w górnej części bieżącej hierarchii wierszy, and jest elementem nadrzędnym w bieżącej hierarchii wierszy?
Funkcje nadrzędno-podrzędne w DAX
W poniższej tabeli contains hierarchii Parent-Child w kolumnach: EmployeeKeyandParentEmployeeKey używanych w all przykładach funkcji.
Klucz pracownika | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
W powyższej tabeli widać, że pracownik 112 nie ma zdefiniowanego rodzica, pracownik 14 ma pracownika 112 jako kierownik (ParentEmployeeKey), pracownik 3 ma pracownika 14 jako kierownika and pracowników 11, 13, and 162 mają pracownika 3 jako kierownika. Powyższe pomaga zrozumieć, że pracownik 112 nie ma kierownika powyżej niej/go and ona/on jest najlepszym menedżerem dla pracowników all pokazanych tutaj; ponadto pracownik 3 zgłasza pracownikom 14 and pracowników 11, 13, 162 do 3.
W poniższej tabeli przedstawiono dostępne funkcje, krótki opis funkcji and przykład funkcji na tych samych danych przedstawionych powyżej.
PATH funkcja — zwraca rozdzielany tekst z identyfikatorami all elementów nadrzędnych do bieżącego wiersza, począwszy od najstarszego or najbardziej aktualnego.
Klucz pracownika | ParentEmployeeKey | Path |
---|---|---|
112 | 112 | |
14 | 112 | 112|14 |
3 | 14 | 112|14|3 |
11 | 3 | 112|14|3|11 |
13 | 3 | 112|14|3|13 |
162 | 3 | 112|14|3|162 |
117 | 162 | 112|14|3|162|117 |
221 | 162 | 112|14|3|162|221 |
81 | 162 | 112|14|3|162|81 |
PATHLENGTH funkcja — zwraca liczbę poziomów w danym PATH(), począwszy od bieżącego poziomu do najstarszego or najwyższego poziomu nadrzędnego. W poniższej przykładowej kolumnie PathLength jest zdefiniowana jako "= PATHLENGTH([Path])
"; Przykład zawiera all dane z Path(), aby ułatwić zrozumienie sposobu działania tej funkcji.
Klucz pracownika | ParentEmployeeKey | Path | PathLength |
---|---|---|---|
112 | 112 | 1 | |
14 | 112 | 112|14 | 2 |
3 | 14 | 112|14|3 | 3 |
11 | 3 | 112|14|3|11 | 4 |
13 | 3 | 112|14|3|13 | 4 |
162 | 3 | 112|14|3|162 | 4 |
117 | 162 | 112|14|3|162|117 | 5 |
221 | 162 | 112|14|3|162|221 | 5 |
81 | 162 | 112|14|3|162|81 | 5 |
funkcji = PATHITEM([Path], 4)
"; Ten przykład zwraca wartość EmployeKey na czwartej pozycji w ciągu Path z left, używając tych samych danych sample z przykładu Path().
Klucz pracownika | ParentEmployeeKey | Path | PathItem — 4 miejsce od left |
---|---|---|---|
112 | 112 | ||
14 | 112 | 112|14 | |
3 | 14 | 112|14|3 | |
11 | 3 | 112|14|3|11 | 11 |
13 | 3 | 112|14|3|13 | 13 |
162 | 3 | 112|14|3|162 | 162 |
117 | 162 | 112|14|3|162|117 | 162 |
221 | 162 | 112|14|3|162|221 | 162 |
81 | 162 | 112|14|3|162|81 | 162 |
PATHITEMREVERSE funkcja — zwraca element w position
z wyniku PATH(), takiego jak wynik funkcji, licząc wstecz od right do left.
W poniższej przykładowej kolumnie PathItemReverse — trzeci z right jest zdefiniowany jako "= PATHITEMREVERSE([Path], 3)
"; Ten przykład zwraca wartość EmployeKey na trzeciej pozycji w ciągu Path z right, używając tych samych danych sample z przykładu Path().
Klucz pracownika | ParentEmployeeKey | Path | PathItemReverse — trzeci od right |
---|---|---|---|
112 | 112 | ||
14 | 112 | 112|14 | |
3 | 14 | 112|14|3 | 112 |
11 | 3 | 112|14|3|11 | 14 |
13 | 3 | 112|14|3|13 | 14 |
162 | 3 | 112|14|3|162 | 14 |
117 | 162 | 112|14|3|162|117 | 3 |
221 | 162 | 112|14|3|162|221 | 3 |
81 | 162 | 112|14|3|162|81 | 3 |
funkcji = PATHCONTAINS([Path], "162")
"; Ten przykład zwraca TRUE
if danego pracownika pathcontains 162. W tym przykładzie użyto wyników z powyższego przykładu Path().
Klucz pracownika | ParentEmployeeKey | Path | PathContains — pracownik 162 |
---|---|---|---|
112 | 112 | FALSE |
|
14 | 112 | 112|14 | FALSE |
3 | 14 | 112|14|3 | FALSE |
11 | 3 | 112|14|3|11 | FALSE |
13 | 3 | 112|14|3|13 | FALSE |
162 | 3 | 112|14|3|162 | TRUE |
117 | 162 | 112|14|3|162|117 | TRUE |