Opis funkcji hierarchii nadrzędny-podrzędny w języku DAX
Język DAX udostępnia 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łą pochodzenie elementów nadrzędnych wiersz, 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 i jest pewnym elementem nadrzędnym w bieżącej hierarchii wierszy?
Funkcje nadrzędny-podrzędne w języku DAX
Poniższa tabela zawiera hierarchię Parent-Child w kolumnach: EmployeeKey i ParentEmployeeKey , która jest używana we wszystkich przykładach funkcji.
EmployeeKey | 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, a pracownicy 11, 13 i 162 mają pracownika 3 jako kierownik. Powyższe pomaga zrozumieć, że pracownik 112 nie ma kierownika powyżej niej/go, a ona/on jest najlepszym menedżerem dla wszystkich pracowników pokazanych tutaj; ponadto pracownik 3 zgłasza pracownikom 14 i pracownikom 11, 13, 162 do 3.
W poniższej tabeli przedstawiono dostępne funkcje, krótki opis funkcji i przykład funkcji na tych samych danych przedstawionych powyżej.
FUNKCJA PATH — zwraca rozdzielany tekst z identyfikatorami wszystkich elementów nadrzędnych do bieżącego wiersza, zaczynając od najstarszego lub najwyższego poziomu do bieżącego.
EmployeeKey | ParentEmployeeKey | Ścieżka |
---|---|---|
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 elemencie PATH(), zaczynając od bieżącego poziomu do najstarszego lub najwyższego poziomu nadrzędnego. W poniższym przykładzie kolumna PathLength jest zdefiniowana jako "= PATHLENGTH([Path])
"., przykład zawiera wszystkie dane z przykładu Path(), aby ułatwić zrozumienie sposobu działania tej funkcji.
EmployeeKey | ParentEmployeeKey | Ścieżka | 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 |
PATHITEM, funkcja — zwraca element na określonej pozycji z elementu PATH(), takiego jak wynik, licząc od lewej do prawej. W poniższej przykładowej kolumnie PathItem — 4. od lewej jest zdefiniowana jako "= PATHITEM([Path], 4)
". W tym przykładzie zwracamy wartość EmployeKey na czwartej pozycji w ciągu Path od lewej, używając tych samych przykładowych danych z przykładu Path().
EmployeeKey | ParentEmployeeKey | Ścieżka | PathItem — 4. od lewej |
---|---|---|---|
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 na pozycji z elementu PATH(), takiego jak wynik funkcji, zliczając wstecz od prawej do lewej.
W poniższej przykładowej kolumnie PathItemReverse — trzecia od prawej jest zdefiniowana jako "= PATHITEMREVERSE([Path], 3)
". W tym przykładzie zwracamy wartość EmployeKey na trzeciej pozycji w ciągu ścieżki po prawej stronie, używając tych samych przykładowych danych z przykładu Path().
EmployeeKey | ParentEmployeeKey | Ścieżka | PathItemReverse — trzeci od prawej |
---|---|---|---|
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 |
PATHCONTAINS, funkcja — zwraca wartość TRUE , jeśli określony element istnieje w określonej ścieżce. W poniższej przykładowej kolumnie PathContains — pracownik 162 jest zdefiniowany jako "= PATHCONTAINS([Path], "162")
". Ten przykład zwraca wartość TRUE , jeśli dana ścieżka zawiera pracownika 162. W tym przykładzie użyto wyników z powyższego przykładu Path().
EmployeeKey | ParentEmployeeKey | Ścieżka | PathContains — pracownik 162 |
---|---|---|---|
112 | 112 | FAŁSZ | |
14 | 112 | 112|14 | FAŁSZ |
3 | 14 | 112|14|3 | FAŁSZ |
11 | 3 | 112|14|3|11 | FAŁSZ |
13 | 3 | 112|14|3|13 | FAŁSZ |
162 | 3 | 112|14|3|162 | PRAWDA |
117 | 162 | 112|14|3|162|117 | PRAWDA |