#21 – Funkcje analizy czasowej DAX

W Power BI znajdziesz sporo wbudowanych funkcji analizy czasowej dzięki którym nie będziesz musiał wymyślać koła na nowo i pisać rozbudowanego kodu, aby wykonać obliczenia na podstawie dat, miesięcy, kwartałów czy lat. Również porównywanie ze sobą informacji z różnych przedziałów czasowych jest dzięki temu bardzo mocno uproszczone.

Jeżeli chcesz dokładniej poznać wbudowane w DAX funkcje analizy czasowej – zajrzyj do oficjalnej dokumentacji pod adresem Funkcje analizy czasowej (DAX) – DAX | Microsoft Learn

Zacznijmy od podstaw. Aby korzystać z tych funkcji musisz w modelu posiadać przynajmniej jedną tabelę dat.

Tutaj chciałbym pokazać Ci przykłady użycia chyba najczęściej używanych funkcji – TOTALYTD() i TOTALMTD()

TOTALYTD()

Czyli obliczamy wartość od początku roku. W skrócie – wartość narastająco.

Policzmy więc jak wyglądają liczby nowych klientów w poszczególnych latach.

Zacznijmy od napisania miary, która po prostu wyliczy nam liczbę klientów w określonym kontekście

Liczba klientów = COUNTROWS( Klienci )

I teraz na jej podstawie stwórzmy miarę z TOTALYTD()

Klienci TOTALYTD = TOTALYTD ( [Liczba klientów], Kalendarz[Date] )

Mamy piękną falę pokazującą ilu nowych klientów zostało wprowadzanych do systemu CRM narastająco w ujęciu rocznym. Czyli z końcem każdego roku licznik nam się resetuje.

TOTALMTD()

Jeżeli będziesz chciał liczyć wartość w ujęciu miesięcznym – możesz zrobić to w prawie ten sam sposób. Wystarczy, że TOTALYTD() podmienisz na TOTALMTD().

Klienci TOTALMTD = TOTALMTD ( [Liczba klientów], Kalendarz[Date] 

A co z innymi przedziałami czasu?

No właśnie. Niektóre rzeczy są zbyt proste i zbyt piękne, aby były prawdziwe 🙂 Wiele z wbudowanych w DAX funkcji analizy czasowej działa tylko na standardowych okresach takich jak lata, kwartały czy miesiące. Jeżeli musisz pracować na nieregularnych okresach, tygodniach, godzinach etc. to nie uciekniesz od samodzielnego pisania kodu chociażby CALCULATE() i ręcznego przekazywania dat czy godzin.

Czy to było przydante?

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

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.