#12 – Wypłaszczanie hierarchii danych

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:

  1. Ciąg znaków, który jest ciągiem znaków generowanym przez funkcję PATH
  2. 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.

Czy to było przydante?

Join Us!

Custom Sidebar

You can set categories/tags/taxonomies to use the global sidebar, a specific existing sidebar or create a brand new one.