Praca z wymiarami

Ukończone

Podczas tworzenia schematu gwiazdy będziesz używać tabel wymiarów i tabel faktów. Tabele faktów zawierają informacje o zdarzeniach, na przykład o zamówieniach, datach dostawy, odsprzedawcach i dostawcach. Tabele wymiarów zawierają szczegółowe informacje o jednostkach biznesowych, takich jak produkty i czas, i są połączone relacjami z tabelami faktów.

Możesz użyć hierarchii jako wspólnego źródła ułatwiającego znajdowanie szczegółów w tabelach wymiarów. Te hierarchie są tworzone na podstawie naturalnych segmentów danych. Możesz na przykład utworzyć hierarchię dat, dzielącą daty na lata, miesiące, tygodnie i dni. Hierarchie są przydatne, ponieważ umożliwiają przechodzenie do szczegółów określonych danych, a nie tylko przeglądanie danych na ogólnym poziomie.

Hierarchie

Podczas tworzenia wizualizacji w usłudze Power BI wartości typu Data są automatycznie wprowadzane w formie hierarchii (o ile tabela nie została oznaczona jako tabela dat).

Zrzut ekranu przedstawiający przykład hierarchii.

W kolumnie Date (Data) powyżej data jest wyświetlana z coraz większą szczegółowością — w latach, kwartałach, miesiącach i dniach. Hierarchie można także tworzyć ręcznie.

Rozważmy na przykład sytuację, w której chcesz utworzyć skumulowany wykres słupkowy przedstawiający łączną sprzedaż według kategorii i podkategorii. W tym celu możesz utworzyć w tabeli Product (Produkt) hierarchię obejmującą kategorie i podkategorie. Aby utworzyć hierarchię, przejdź do okienka Pola w usłudze Power BI i kliknij prawym przyciskiem myszy kolumnę, dla której chcesz utworzyć hierarchię. Wybierz pozycję Nowa hierarchia, jak pokazano na poniższej ilustracji.

Zrzut ekranu przedstawiający nową hierarchię w tabeli Product.

Następnie przeciągnij kolumnę Subcategory (Podkategoria) i upuść ją w nowo utworzonej hierarchii. Ta kolumna zostanie dodana jako niższy poziom hierarchii.

Zrzut ekranu przedstawiający hierarchię nazw kategorii z zagnieżdżonym ciągiem Nazwa kategorii i Nazwa podkategorii.

Możesz teraz zbudować wizualizację, wybierając skumulowany wykres słupkowy w okienku Wizualizacje. Dodaj hierarchię Category Name Hierarchy (Hierarchia nazw kategorii) w polu , a hierarchię Total Sales (Łączna sprzedaż) w polu Wartości.

Zrzut ekranu przedstawiający hierarchię nazw kategorii w polu Oś i TotalSales w polu Wartości.

W zależności od tego, co chcesz zobaczyć, możesz teraz zmieniać poziom szczegółów na wizualizacji, wybierając kategorię lub podkategorię. Hierarchie umożliwiają wyświetlanie danych na kolejnych poziomach szczegółowości w jednym widoku.

Zrzut ekranu przedstawiający dwa widoki w jednej wizualizacji.

Wiesz już, jak korzystać z hierarchii, możesz więc pójść o krok dalej i zapoznać się z hierarchiami typu „nadrzędny-podrzędny” oraz ich rolą w wielu relacjach między tabelami faktów a tabelami wymiarów.

Hierarchia nadrzędny-podrzędny

W poniższym przykładzie masz tabelę pracowników w bazie danych, która zawiera ważne informacje o pracownikach, ich przełożonych i ich identyfikatorach. Podczas przeglądania tej tabeli możesz zauważyć, że Roy F występuje wielokrotnie w kolumnie Manager (Przełożony). Jak widać na ilustracji, wielu pracowników może mieć tego samego przełożonego, co wskazuje na hierarchię przełożonych i pracowników.

Zrzut ekranu przedstawiający tabelę employee z kolumnami Employee ID (Identyfikator pracownika), Employee (Identyfikator pracownika), Manager ID (Identyfikator menedżera) i Manager (Menedżer).

Kolumna Manager określa hierarchię, jest więc nadrzędna, a na poziomie podrzędnym hierarchii znajdują się pracownicy. W tym przykładzie chcesz widzieć wszystkie poziomy hierarchii. W usłudze Power BI nie są domyślnie pokazywane wszystkie poziomy hierarchii, więc Twoim zadaniem jest zapewnienie możliwości zobaczenia wszystkich tych poziomów — innymi słowy, spłaszczenie hierarchii w celu zwiększenia stopnia szczegółowości danych.

Spłaszczanie hierarchii typu „nadrzędny-podrzędny”

Proces wyświetlania wielu poziomów podrzędnych jednego poziomu nadrzędnego najwyższego poziomu nazywa się spłaszczaniem hierarchii. W tym procesie tworzysz w tabeli wiele kolumn w celu pokazania hierarchicznej ścieżki od elementu nadrzędnego do podrzędnego w jednym rekordzie. Użyjesz funkcji PATH(), prostej funkcji języka DAX, która zwraca wersję tekstową ścieżki od przełożonych do pracowników, oraz funkcji PATHITEM() w celu podzielenia tej ścieżki na poszczególne poziomy hierarchii zarządzania.

Ważne

Do tej pory nie omówiliśmy języka DAX — zrobimy to w innym module. Tę funkcję wprowadzamy w tej sekcji, ponieważ pozwala ona objaśnić hierarchie. Jeśli użycie tu języka DAX utrudnia Ci zrozumienie tematu, zapoznaj się z modułem dotyczącym języka DAX, a następnie wróć do tej sekcji.

Z poziomu tabeli przejdź do karty Modelowanie i wybierz pozycję Nowa kolumna. Na wyświetlonym pasku formuły wprowadź następującą funkcję, która pozwoli utworzyć ścieżkę między pracownikiem a przełożonym w formie tekstowej. Ta akcja powoduje utworzenie kolumny obliczeniowej w języku DAX.

Path = PATH(Employee[Employee ID], Employee[Manager ID])

Zrzut ekranu przedstawiający miarę języka DAX służącą do spłaszczania nadrzędnej hierarchii podrzędnej.

W nowej kolumnie będzie widoczna gotowa ścieżka między pracownikiem a jego przełożonym, co widać na poniższym zrzucie ekranu.

Zrzut ekranu przedstawiający tabelę funkcji PATH w usłudze Power BI.

Jeśli przyjrzymy się pracownikowi o nazwisku Roger M, zobaczymy ścieżkę identyfikatorów 1010 | 1011 | 1013, co oznacza, że na poziomie powyżej Rogera M (identyfikator 1013) znajduje się jego przełożona Pam H (identyfikator 1011), a na poziomie ponad nią jest jej przełożony Roy F (identyfikator 1010). W tym wierszu Roger M znajduje się na najniższym poziomie hierarchii (na poziomie podrzędnym), a Roy F na najwyższym (nadrzędnym). Taka ścieżka jest tworzona dla każdego pracownika. Aby spłaszczyć hierarchię, można oddzielić poszczególne poziomy przy użyciu funkcji PATHITEM.

Aby wyświetlić wszystkie trzy poziomy hierarchii osobno, możesz utworzyć cztery kolumny tak samo, jak wcześniej, wprowadzając następujące równania. Funkcja PATHITEM służy do pobierania wartości, która znajduje się na odpowiednim poziomie hierarchii.

  • Level 1 = PATHITEM(Employee[Path],1)
  • Level 2 = PATHITEM(Employee[Path],2)
  • Level 3 = PATHITEM(Employee[Path],3)

Zrzut ekranu przedstawiający używanie funkcji PATHITEM.

Po zakończeniu zwróć uwagę, że teraz w tabeli znajduje się każdy poziom hierarchii. Na szczycie hierarchii jest Roy F, a w miarę przechodzenia przez poziomy 2–3 widać, że menedżerowie i pracownicy mapują się ze sobą.

Zrzut ekranu przedstawiający spłaszczanie hierarchii nadrzędny-podrzędny.

Teraz, tak jak wcześniej, możesz utworzyć hierarchię w okienku Pola. Kliknij prawym przyciskiem myszy poziom 1, ponieważ jest to pierwszy poziom hierarchii, a następnie wybierz pozycję Nowa hierarchia. Następnie przeciągnij i upuść poziom 2 i poziom 3 do tej hierarchii.

Zrzut ekranu przedstawiający nową hierarchię poziomów pracowników.

Hierarchia została pomyślnie spłaszczona, dzięki czemu możesz wyświetlić poszczególne poziomy.

Wcześniej rozważane były wymiary mające tylko jedną relację z tabelą faktów. Jednak zdarzają się sytuacje, w których tabela wymiarów zawiera wiele relacji z tabelą faktów.

Wymiary związane z pełnieniem ról

Wymiary związane z pełnieniem ról mają wiele prawidłowych relacji z tabelami faktów, co oznacza, że ten sam wymiar może służyć do filtrowania wielu kolumn lub tabel danych. W związku z tym dane można filtrować w różny sposób, w zależności od informacji, które chcesz uzyskać. Ten temat jest złożony, dlatego ta sekcja zawiera tylko wprowadzenie do niego. Praca z wymiarami związanymi z pełnieniem ról wymaga złożonych funkcji języka DAX, które zostaną omówione w kolejnych sekcjach.

Zrzut ekranu przedstawiający wymiary odgrywania ról w modelu.

Poprzednia wizualizacja przedstawia tabele Calendar, Sales i Order. Calendar jest tabelą wymiarów, natomiast Sales i Order są tabelami faktów. Tabela wymiarów ma dwie relacje: jedną z tabelą Sales i jedną z tabelą Order. Ten przykład przedstawia wymiar związany z pełnieniem ról, ponieważ tabela Calendar umożliwia grupowanie danych zarówno w tabeli Sales, jak i w tabeli Order. Jeśli chcesz utworzyć wizualizację, w której tabela Calendar odwołuje się do tabel Order i Sales, tabela Calendar będzie działać jako wymiar związany z pełnieniem ról.