Blog: Biurowe narzedzia informatyczne | Narzedzia business intelligence

Praktyczne wykorzystanie funkcji inteligencji czasowej DAX – czyli raport porównujący miesięczne wyniki z dwóch lat

Praktyczne wykorzystanie funkcji inteligencji czasowej DAX – czyli raport porównujący miesięczne wyniki z dwóch lat
  • 3 887 views

Na prowadzonych przeze mnie szkoleniach dotyczących analizy danych z wykorzystaniem narzędzi Self Service BI, bardzo często pojawia się pytanie o to, jak przygotować raport zestawiający wyniki obecne z wynikami z poprzednich lat w danym okresie.

Udostępnij!

Zadanie to będzie proste, jeśli wykorzystamy odpowiednie funkcje DAX w dodatku Power Pivot oraz w aplikacji BI Destkop and Online. Poniżej przedstawię sposób wykonania wspomnianego raportu w oparciu o narzędzia dostępne w Power Pivocie. Przykładowy model danych zawiera daty transakcji z dwóch lat wraz z ich wartościami.

excel -Pover Pivot

Punktem startowym jest podsumowanie wartości sprzedaży w obszarze jawnych miar wyliczanych. Podobnie jak w Excelu, można w tym celu użyć przycisku autosumowania. W efekcie uzyskujemy formułę w postaci:

Sum of Sale Value:=SUM([Sale Value])

Dla własnej wygody można dostosować nazwę jawnej miary wyliczanej do własnych potrzeb.
przedaż:=SUM([Sale Value]).

excel - autosumowanie

Zanim będziemy mogli posługiwać się funkcjami inteligencji czasowej, należy utworzyć w naszym modelu tabelę dat. W wersji 2016 Excela, PowerPivot daje możliwość jej automatycznego wygenerowania. Polecenie wykonujemy w zakładce Projektowanie (Design).

excel - power pivot - projektowanie

Powyższa tabela musi zostać połączona relacją z tabelą faktów. Relacja typu jeden do wielu musi być ustanowiona między polem daty w tabeli faktów oraz polem daty w tabeli dat. Tabela faktów jest tu zawsze stroną „wiele”.

Tabela dat jest niezbędna po prawidłowego działania funkcji inteligencji czasowej, która wymaga kolumny z następującymi ciągiem datami. Bez tego warunku narzędzie nie potrafi zlokalizować daty zdarzenia na osi czasu. Prawidłowo wykonana i aktywna relacja wygląda następująco:

excel - power pivot - tabela dat

Mając do dyspozycji tabelę dat możemy zmodyfikować posiadaną miarę wyliczaną i określić na poziomie formuły, na których rekordach tabeli mają być wykonywane działania obliczeniowe. Zadanie można wykonać posługując się funkcjami CALCULATE(),DATESYTD(),DATEADD().

Na początek należy obliczyć wartość przychodu narastająco od początku pierwszego roku dostępnego w danych z tabeli. Do tego celu używamy następującej formuły:

YTD Sale:=CALCULATE([Sprzedaż];DATESYTD(calendar[Date])).

Jej wyniki, to wartości łączne sprzedaży od początku pierwszego roku do końca wybranego okresu. W raporcie tabeli przestawnej wyniki tej miary prezentujemy na przykład w odniesieniu do poszczególnych miesięcy.

excel -power pivot - calculate

Dla lepszego zobrazowania, w kolumnie Sale YTD raportu zastosowano odpowiedni format warunkowy.
Krok kolejny, to uzyskanie analogicznych wyników, ale obliczonych na danych z roku poprzedniego. Możemy to uzyskać, między innymi, za pomocą następującej formuły:

First YTD sale:=CALCULATE([YTD Sale];DATEADD(DATESYTD(calendar[Date]);-1;Year))

Używając funkcji DATEADD() przesuwamy się po rekordach tabeli do wyników wcześniejszych o jeden rok. Tym sposobem uzyskujemy sumy narastająco od początku poprzedniego roku. Poniżej wyniki zaprezentowane w tabeli przestawnej.

excel - power pivot - dateadd

Kolejny krok to obliczenie wartości procentowej zmiany wyniku rok do roku. Teraz sprawa jest prosta. Nowa jawna miara wyliczana może korzystać z wcześniej policzonych miar. Do obliczenia można wykorzystać następującą formułę:

YTY change:=[YTD Sale]/[First YTD sale]-1.

Dla powyższej miary należy ustawić format procentowy. W efekcie, po stronie modelu uzyskujemy następujący układ danych:

excel - power pivot - YTY change

W raporcie tabeli przestawnej pozostaje już tylko dodać pole z wynikami procentowymi.

excel -power pivot - wyniki

Dokładnie takie same obliczenia mogą zostać wykonane i wykorzystane na wizualizacjach aplikacji BI Desktop i Online.

Mam nadzieję że przedstawione przeze mnie rozwiązanie sami sprawdzicie w praktyce i że okaże się dla Was pomocne.