Praca z analizą czasową

Ukończone

Wszyscy analitycy danych będą musieli zajmować się czasem. Daty są istotne, dlatego zdecydowanie zalecamy utworzenie lub zaimportowanie tabeli dat. To podejście pomoże uprościć obliczanie daty i godziny w języku DAX.

Część obliczeń czasu jest prosta do wykonania w języku DAX, jednak niektóre są trudniejsze. Na przykład na poniższym przykładzie pokazano, co się dzieje, gdy chcesz wyświetlić sumę bieżącą.

Suma bieżąca w języku DAX

Zwróć uwagę, że łączne wartości są zwiększane dla każdego miesiąca, a następnie resetowane po zmianie roku. W innych językach programowania może to spowodować dużą złożoność i często wymaga zastosowania kilku zmiennych i pętli w kodzie. Język DAX sprawia, że ten proces jest dość prosty, jak pokazano w następującym przykładzie:

YTD Total Sales = TOTALYTD 
( 
    SUM('Sales OrderDetails'[Total Price]) 
    , Dates[Date]
)

Miara YTD Total Sales (Łączna sprzedaż w bieżącym roku) korzysta z wbudowanej funkcji języka DAX o nazwie TOTALYTD. Ta funkcja przyjmuje argument dla typu obliczenia. Wartość Total Price (Łączna cena) można uzyskać przy użyciu funkcji SUM, jak zrobiono to w tym module. Kolejnym argumentem, na którym należy wykonać obliczenia, jest pole Dates (Data). Można użyć tabeli dat i dodać tę miarę do wizualizacji, aby uzyskać wynik sumy bieżącej. Podobnie można używać wszystkich funkcji w miarach YTD (bieżący rok), MTD (bieżący miesiąc) i QTD (bieżący kwartał).

Kolejnym przykładem pracy z czasem jest porównanie bieżącej sprzedaży ze sprzedażą w poprzednim przedziale czasu. Jeśli na przykład chcesz wyświetlić łączną wartość sprzedaży w miesiącu obok całkowitej sprzedaży w poprzednim miesiącu, wprowadź definicję miary języka DAX, jak pokazano w następującym przykładzie:

Total Sales Previous Month = CALCULATE
(
    sum('Sales OrderDetails'[Total Price])
    , PREVIOUSMONTH(Dates[Date])
)

Ta miara korzysta z funkcji CALCULATE, co oznacza zastąpienie kontekstu w celu obliczenia tego wyrażenia w odpowiedni sposób. Wartość Total Price (Łączna cena) jest sumowana, podobnie jak w pozostałej części tego modułu. Dla drugiego argumentu w celu zastąpienia używana jest funkcja PREVIOUSMONTH, która informuje usługę Power BI, że niezależnie od miesiąca będącego wartością domyślną, system powinien zastąpić go poprzednim miesiącem.

Poniższy zrzut ekranu przedstawia wyniki w wizualizacji tabeli.

Funkcja PREVIOUSMONTH języka DAX

Podczas analizowania miesięcy obok siebie należy zauważyć, że łączna sprzedaż w lipcu jest porównywana z łączną sprzedażą w czerwcu.