Wyróżnianie danych z DZISIAJ na wykresie w Power BI

 

Wykres w Power BI powinien nie tylko pokazywać dane, ale opowiadać czasem historię. Zanosząc szefowi wykres możesz chcieć np. pokazać jaką kwotę faktur z dzisiejszym terminem płatności masz zaksięgowaną w systemie. Oczywiście sposobów na pokazanie danych jest wiele. My zaczniemy dziś od wykresu w tej postaci:

Wykres pokazuje sumę kwot faktur w podziale na termin ich płatności. Rejestrując faktury w systemie musimy przewidzieć oczywiście, że faktura będzie miała termin płatności późniejszy niż data jej zarejestrowania (a w idealnym świecie wszystkie faktury powinny być dostarczone przed ich terminami płatności). Wykres pozwala nam zatem odczytać jaką kwotę należy zabezpieczyć na zapłatę faktur danego dnia.

Zanosząc jednak ten wykres do osoby odpowiedzialnej za płatności faktur bardzo szybko otrzymamy pytanie – „a jaka kwota jest na dzisiaj? Która to kolumna na wykresie?”. Szukanie tej jednej, konkretnej kolumny delikatnie mówiąc nie jest najbardziej eleganckim rozwiązaniem. Dużo lepszym pomysłem byłoby wyróżnienie jednej konkretnej kolumny innym kolorem tak, aby bez najmniejszej wątpliwości widoczny był ten słupek z kwotą z dzisiejszą datą w Power BI.

Wykorzystamy do tego celu miarę oraz wbudowany mechanizm formatowania warunkowego.

Zacznijmy od miary. Miara nasza będzie miała jedno zadanie – będzie musiała umieć odczytać datę dla której jest obliczana i sprawdzić czy jest ona równa dzisiejszej dacie.

DAX przychodzi nam z pomocą z funkcją SELECTEDVALUE, która upraszcza schemat odczytywania widocznej wartości. Przez widoczną wartość mamy na myśli wartość, która jest widoczna we wskazanej kolumnie podczas przetwarzania wartości. W naszym przypadku musimy mieć możliwość dla każdego słupka odczytania daty, która znajduje się na osi oraz porównania tej daty z dzisiejszą datą. Przykładowa miara może wyglądać następująco:

# Czy to dzis =

VAR __widoczna_data =

    SELECTEDVALUE ( kalendarz[data] )

VAR __dzis =

    TODAY ()

RETURN

    IF ( __widoczna_data = __dzis; 1; 0 )

Gdybyśmy chcieli przetestować czy nasza miara w DAX działa moglibyśmy zbudować wizualizację w Power BI typu tabela umieszczając daty na wartościach i naszą miarę.

W aktualnej dacie (w momencie pisania tego artykułu na bloga – 14 marca 2021) dostaniemy wynik 1, pozostałe daty dostaną 0.

Pozostało nam zatem sprząc nasz wykres z naszą miarą przez narzędzie formatowania warunkowego.

Po zaznaczeniu wykresu w Power BI przechodzimy do opcji formatowania kafelka a następnie polecenia Kolory danych i klikamy przycisk fx .

Power BI wyświetli okno formatowania kolorów dla wykresu. W tym miejscu zależy nam na przekazaniu naszej miary jako wskaźnika, który pozwoli na formatowanie kafelka. Innymi słowy możemy wyobrazić sobie, że nasza miara powinna przechodzić przez wszystkie daty widoczne na wykresie i metkować je liczbą 0 (wszystkie daty poza dziś) lub 1 (dzisiejsza data). Formatowanie warunkowe w Power BI zaś powinno sprawdzić gdzie znajduje się wartość 0 a gdzie 1. Po znalezieniu wartości 1 mechanizm Power BI powinien pokolorować kolumnę na wybrany kolor (np. zielony).

W sekcji Formatuj według wybieramy zatem Reguły, w sekcji Na podstawie pola wybieramy nazwę miary w DAX, czyli w omawianym przypadku „# Czy to dziś”. Pozostaje już tylko ustawić prawidłową regułę (wartość jest 1), wybrać zielony kolor i potwierdzić przyciskiem OK.

Rezultatem całego działania będzie dynamiczny wykres pokazujący kolumnę pokolorowaną innym kolorem dla dzisiejszej daty. Wykorzystanie funkcji TODAY() powoduje, że za każdym razem gdy zajdzie konieczność wyświetlenia wykresu Power BI będzie sprawdzał jaka jest dzisiejsza (aktualna) data i przesuwał wskaźnik na odpowiedni słupek. Korzystając z tej techniki możesz oczywiście wyróżniać zakresy dat – jak np. od 3 dni wstecz, do 3 dni w przód. Jedyne co powinieneś zrobić to przestawić odpowiednio warunek w mierze.

Formatowanie warunkowe w Power BI z użyciem miary w języku DAX jest bardzo dobrym przykładem jak narzędzia te ze sobą współpracuję. Jeśli chcesz zdobyć biegłość w posługiwaniu się Power BI nie wystarczy zaprzestać nauki na kreśleniu wizualizacji czy też udostępniania raportów w usłudze powerbi.com. Powinieneś również zaprzyjaźnić się z dość osobliwym językiem jakim jest DAX.

Więcej o narzędziach, które tutaj przytoczyliśmy dowiesz się na szkoleniach Power BI oraz DAX – poziom podstawowy.