W źródłach danych z którymi będziesz pracować czasami natrafisz na hierarchię danych, której najlepszym przykładem może być hierarchia organizacyjna w której będzie CEO na szczycie, z managementem poniżej i szeregowymi pracownikami jeszcze niżej.
Aby właściwie zwizualizować tego typu hierarchie należałoby je w odpowiedni sposób przygotować.
Więc do roboty.
Pobierz pliki do tego wpisu
Aby móc pobrać pliki musisz się zalogować
Otwórz plik z danymi i przejdź do zakładki Dane i zacznijmy od stworzenia nowej kolumny.
Hierarchia = PATH( Pracownicy[Pracownik], Pracownicy[Przełożony] )
Dzięki temu otrzymamy następujący wynik:

Mamy nową kolumnę z pełnymi ścieżkami zależności Pracownik – Przełożony.
Dodajmy kolejne kolumny z poszczególnymi poziomami hierarchii:
Poziom 1 = PATHITEM( Pracownicy[Hierarchia], 1, TEXT )
Poziom 2 = PATHITEM( Pracownicy[Hierarchia], 2, TEXT )
Poziom 3 = PATHITEM( Pracownicy[Hierarchia], 3, TEXT )
W ten prosty sposób wypłaszczyliśmy naszą hierarchię i możemy na niej dalej pracować.
Ale zatrzymajmy się jeszcze na chwilę przy użytych funkcjach. Napiszę jeszcze kilka zdań o tym, co one robią i jak działają.
Użyte funkcje DAX
PATH()
PATH w DAX jest funkcją, która zwraca ciąg znaków reprezentujący ścieżkę hierarchii dla danej pozycji w tabeli. Funkcja ta jest przydatna, gdy chcesz generować raporty z danymi hierarchicznymi, takimi jak sprzedaż w różnych działach i regionach.
PATH przyjmuje jeden argument, który jest pozycją, dla której chcesz uzyskać ścieżkę hierarchii. Argument ten może być pozycją w tabeli lub kolumnie, która zawiera pozycje.
Funkcja zwraca ciąg znaków złożony z nazw pozycji oddzielonych przecinkami. Jeśli pozycja jest na najwyższym poziomie hierarchii, funkcja zwraca tylko nazwę pozycji. Jeśli pozycja jest niżej w hierarchii, funkcja zwraca nazwy pozycji od najwyższego poziomu do tej pozycji.
Na przykład, jeśli masz tabelę z danymi o sprzedaży, która ma hierarchię działów i regionów, możesz użyć PATH, aby uzyskać ścieżkę hierarchii dla pozycji sprzedaży dla działu Elektronika w regionie Europy:
=PATH(
FILTER( Sales, Sales[Department] = "Electronics" && Sales[Region] = "Europe")
)
W powyższym przykładzie funkcja FILTER zwraca podtabelę zawierającą pozycje sprzedaży, które spełniają warunek Department = „Electronics” && Region = „Europe” , a następnie PATH jest używana do uzyskania ścieżki hierarchii dla tych pozycji.
PATHITEM()
Funkcja PATHITEM jest funkcją, która zwraca konkretną pozycję z ciągu znaków zwracanego przez funkcję PATH. Funkcja ta jest przydatna, gdy chcesz odczytać konkretną pozycję z ścieżki hierarchii generowanej przez funkcję PATH.
PATHITEM przyjmuje dwa argumenty:
- Ciąg znaków, który jest ciągiem znaków generowanym przez funkcję PATH
- Indeks pozycji, którą chcesz odczytać. Indeks jest liczbą całkowitą, która oznacza pozycję w ciągu znaków, którą chcesz odczytać. Indeks jest liczony od zera, więc pierwsza pozycja to 0, druga pozycja to 1 itd.