Ostatnich 12 miesięcy względem wybranego miesiąca z językiem DAX

W artykule o KPI ze sparklines z użyciem tabeli przestawnej opisałem, jak pokazać 12 ostatnich miesięcy względem wybranej daty. Jak taki scenariusz zrealizować w Power Pivot lub w Power BI? Potrzebujemy trochę DAX.

Krok 1: Zbuduj model danych z tabelą dat

Moja tabela dat nazywa się Kalendarz.

Krok 2: Dodaj do modelu dodatkową tabelę z miesiącami

Ja utworzyłem ją w Power Query jako Odwołanie do tabeli Kalendarz + usunięcie duplikatów. Tabela zawiera ostatnią datę w miesiącu oraz słowny zapis nazwy miesiąca i roku, który pojawi się na fragmentatorze.

Tabelę załaduj do modelu danych, ale nie łącz relacjami.

Krok 3: Zbuduj miarę DAX

W Power Pivot lub Power BI potrzebujemy teraz miary, która:

  • Sprawdzi, jaką datę użytkownik wybrał na slicerze (MaxData)
  • Znajdzie, jaka data była 12 miesięcy wstecz
  • Obliczy Sprzedaż Total (gdzie Sprzedaż Total = SUM(Dane[Sprzedaż])) dla dat pomiędzy.
Sprzedaż Total 12 M :=
VAR MaxDate =
    MAX ( 'Miesiące'[Koniec miesiąca] )
VAR MinDate =
    DATE ( YEAR ( MaxDate ); MONTH ( MaxDate ) - 12; DAY ( MaxDate ) )
RETURN
    CALCULATE (
        [Sprzedaż Total];
        FILTER ( Kalendarz; Kalendarz[Data] > MinDate && Kalendarz[Data] <= MaxDate )
    )

Krok 4: Wstaw fragmentator po polu Wybierz miesiąc

Zalecam użyć fragmentator jednokrotnego wyboru w Excelu lub w Power BI.

Krok 5: Zbuduj tabelę przestawną (macierz w Power BI) lub wykres

Wyniki zaprezentujemy na wykresie liniowym lub na wykresie typu sparklines z tabelą przestawną.

Wykres typu sparklines znajdziesz np. w wizualizacji typu KPI (kluczowy wskaźnik wydajności) w Power BI.

Pobierz plik Excel lub Power BI z miarą DAX

Tu możesz pobrać plik Excel i Power BI z gotowymi miarami DAX do liczenia ostatnich 12 miesięcy.

Udostępnij ten wpis:

Brak komentarzy

  1. Dziękuję za ten wpis. Mam jedno pytanie. Dlaczego już w Power BI widzimy kwotę 377 093? Jest to wynik września 2016. Wybieramy wynik lipiec 2017 a liczba, która się pokazuje jest wynikiem innej daty, a przecież tytuł wykresu brzmi: Total 12M, czy tak powinno być?

    • Cześć Ania, dzięki za wychwycenie błędu. Wrzuciłem w Power BI pole Miesiąc zamiast Początek miesiąca i wykres był błędnie przesortowany. Dzięki Tobie poprawiłem screen oraz pliki do pobrania. Jeszcze raz dzięki!

Dodaj komentarz

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