Zapanuj nad osiami w raporcie Power BI

Power BI
Analityka danych

Wykres powinien być nie tylko łądny czytelny i estetyczny ale także sensowny. A pewnie przede wszystkim sensowny 🙂 Powinien dawać zrozumienie wartości i wyobrażenie zależności pomiędzy danymi. Sam jeden powinien być niezależny i trwały w poglądach. Co to może oznaczać :)? Przeczytaj poniżej.

Na szkoleniach często pytacie jak zapanować nad osiami na wykresie – w taki sposób aby po zmianie filtrowania zakres osi pozostał stały. Dokładnie problem możesz podejrzeć na poniższym rysunku.

Zobacz, że mamy tutaj wykres przedstawiający sprzedaż dla każdej podkategorii i możliwość filtrowania po kategorii produktu.

 

Odfiltrowując kategorię na fragmentatorze Power BI próbuje zrobić nam uprzejmość i przelicza od nowa maksimum i minimum osi. Tym samym, jeśli nie przyjrzymy się dokładnie wartościom na osi – możemy mieć wrażenie, że sprzedaże w różnych kategoriach są podobne. Jeśli jednak dogłębnie przeanalizujemy wartości – zobaczymy w jak dużym błędzie możemy się znaleźć. Przykładowo po odfiltrowaniu na fragmentatorze kategorii Computers zobaczymy, że wartość sprzedaży w podkategorii Projectors&screens to ponad 1 miliard!

1335000000 +

Na osi Y wykresu…

Po zmianie filtrowania i wyborze kategorii Audio dostajemy na tym samym obszarze roboczym wykres zgodny z poniższym rysunkiem:

Odbiorca takiego raportu może poczuć się wprowadzony w błąd, wręcz czasem zmanipulowany tym co się tutaj zadziało.

Dzisiaj przeprowadzimy Cię krok po kroku przez ustalenie odpowiedniej wartości do maksymalnej wartości dla osi na Twoim wykresie w Power BI.

Zacznijmy od podstaw!

1. Rozwiązanie z czasów młotka i dłuta

 

Jeśli wiemy, że maksymalna wartość wynosi ok 1,4 mld to możemy taką wartość ustawić w opcjach osi.

Skąd wiemy, że to akurat taka wartość? Możemy oczywiście utworzyć taki raport lub odczytać ad hoc wartość z kolumny:

Power BI umożliwia ustawienie ręczne wartości maksymalnej i minimalnej dla osi wykresu. Możesz to zrobić przechodząc do opcji wizualizacji. Zaznacz zatem wykres, przejdź do opcji formatowania kafelka, do sekcji Wizualizacja a następnie do grupy Oś Y. W ostatnim kroku wpisz wartość 1,5 mld.

Po wpisaniu maksymalnej wartości – niezależnie od wyboru na fragmentatorach Power BI zawsze będzie utrzymywał maksymalną wartość osi jako 1,5 mld.

 

Głównym minusem tego rozwiązania jest to, że nie jest to rozwiązanie dynamiczne. Jeśli odświeżysz dane i okaże się, że maksymalna wartość sprzedaży w podkategorii wynosi już np. 3 mld. – Power BI nie będzie w stanie wyrysować do końca kolumn i zostaną odcięte na poziomie 1,5 mld. W jaki zatem sposób można podejść do problemu lepiej?

2. Rozwiązanie takie jakie powinno być

 

W każdym miejscu w Power BI gdzie zobaczysz ikonkę fx możesz skorzystać z wyrażenia w języku DAX (miary), która pozwoli Ci dynamicznie „coś” policzyć. W naszym przypadku tym „czymś” będzie właśnie maksymalna wartość dla osi, a wyznaczymy ją szukając maksymalnej kwoty sprzedaży dla wszystkich podkategorii.

 

Potrzebujemy zatem utworzyć miarę, która obliczy kwotę sprzedaży dla każdej podkategorii a następnie wyciągnie wartość maksymalną. Miara ta powinna jednocześnie ignorować filtr pochodzący z kategorii (Audio, Cameras and camcorders, Cell phones….). Dlaczego? Ponieważ w przeciwnym wypadku dalej oś tańczyłaby wraz ze zmianami kategorii.

 

Bardzo dużą częścią pisania kodu w języku DAX (Data Analysis eXpressions) jest odpowiednie manipulowanie filtrami, które są przekazywane w obliczeniach. Developer DAX za każdym razem powinien zastanowić się jakie filtry mogą wpływać na dane obliczenia i czy chce je zatrzymać, zastąpić, usunąć czy też dodać dodatkowy.

 

W naszym przypadku założymy, że filtrowanie odbywa się jedynie przez kategorię produktu.

 

Kategoria jest powiązana z podkategorią relacją 1:* zgodnie z poniższym rysunkiem.

Poznaj nasze wszystkie szkolenia Power BI i wybierz odpowiednie dla siebie:
  • Power BI

    Naucz się tworzyć nowoczesne i dynamiczne raporty w dedykowanym narzędziu ze stajni Microsoft. Dzięki szkoleniu będziesz w stanie ...
    Dowiedz się więcej
  • Power BI e-learning

    Power BI to rewolucyjne narzędzie ze stajni Microsoft. To narzędzie, w którym po naszym szkoleniu bez trudu utworzysz czytelne, es...
    Dowiedz się więcej
  • Power Automate

    Power Automate to usługa w chmurze, dzięki której użytkownicy firmowi mogą w prosty i praktyczny sposób tworzyć przepływy pracy au...
    Dowiedz się więcej

Wynika z niego, że filtrując kategorię filtr jest propakowany do podkategorii. Nam zatem zależy na usunięciu filtru z tabeli podkategorie (pokazanie wszystkich podkategorii) w momencie gdy nałożony jest filtr na kategorię. Dzięki temu wyznaczymy zawsze maksymalną wartość osi.

 

Istnieje wiele sposobów napisania miary, która pozwoli uwzględnić powyższe działanie. Szczegółowe różnice – kiedy używać CALCULATE, kiedy DISTINCT, VALUES, ALL, ALLNOBLANKROW omawiamy na naszym szkoleniu Język DAX.

 

Utwórzmy zatem miarę:

W tej mierze korzystamy z kilku osobliwych koncepcji języka DAX (iterator, przejście kontekstu, filtr na tabeli a nie na kolumnie). Koncepcje te sprawiają, że język DAX staje się językiem bardzo osobliwym i wymaga dużej dozy praktyki. Trudnością w DAX nie jest nauczenie się dodatkowej funkcji czy też pięciu lecz zrozumienie dlaczego tak a nie inaczej DAX zachowuje się w różnych miejscach. Dopiero łącząc ze sobą wszystkie „kropki” a więc te nieoczywiste koncepcje będziemy w stanie powiedzieć, że umiemy sprawnie budować formuły w DAX. Takie podejście przyświecało nam przy projektowaniu naszych szkoleń – dać zrozumienie co się dzieje w kodzie gdzie i dlaczego 🙂

Zwróć uwagę jaki wynik daje miara w zależności od wybranej kategorii:

Jedyne co pozostało nam do wykonania to podłożenie tej miary do odpowiedniej opcji w maksimum dla osi Y. Aby tego dokonać kliknij przycisk fx widoczny na poniższym rysunku.

W wyświetlonym oknie odnajdź miarę i potwierdź przyciskiem OK:

Od tej pory wartość osi będzie stała niezależnie od wyboru kategorii, oraz co bardzo istotne – zawsze będzie przeliczana po załadowaniu nowych danych do raportu. Jeśli zatem w tabeli ze sprzedażą zanotujesz dużo nowych rekordów co wpłynie na totale sprzedaży dla kategorii – oś dostosuje się automatycznie. A czyż nie na tym nam zależy, żeby było ładnie, czytelnie, estetycznie, sensownie i automatycznie :)?

Podobne artykuły

Wszystkie artykuły