Prawdziwe YTD
Transkrypt:
Czy mieliście kiedyś problemy z raportami, gdzie pokazuje się wartości narastająco w roku, czyli tak zwane Year-to-Date? Jeżeli tak, to zobaczcie jak w Power BI można rozwiązać niektóre z problemów, które pojawiają się w takiego typu raportach.
Pokażę, jak przygotować prawdziwe raporty Year to Date. Załóżmy, że zrobiłem taki raport, jak na ekranie, gdzie przedstawiam sprzedaż w każdym miesiącu w ciągu roku. Mam także możliwość filtrowania roku.
Załóżmy, że przychodzi do mnie kierownik sprzedaży z następującym problemem. Chciałby zobaczyć sprzedaż, ale narastająco w ciągu roku, to znaczy każdy kolejny miesiąc powinien być sumą sprzedaży w miesiącach poprzednich oraz w danym miesiącu. Zacznijmy od przygotowania miary. Nazwiemy ją Sales YTD. Jako wartość przyjmiemy rezultat funkcji CALCULATE, która jako argument przyjmie sumę sprzedaży z kolumny [Revenue]. Funkcja CALCULATE daje nam możliwość zmiany kontekstu dat za pomocą funkcji DATESMTD, DATESQTD, DATESYTD. Wybieramy tę ostatnią, która jest odpowiedzialna za przeliczanie sumy narastającej w ciągu roku. Wskazujemy jej także, gdzie znajdują się daty kalendarza. Na podstawie tak przygotowanej miary tworzymy wykres. Sprawdzamy dane z nowo utworzonego wykresu z danymi z wykresu bazowego poniżej i wszystko się zgadza. Drugi miesiąc jest sumą danych sprzedaży z pierwszego i drugiego miesiąca.
Kiedy przełączymy rok na bieżący to zobaczymy sytuację niepożądaną. Power BI pokazuje nam dane dla całego roku, podczas, gdy ja ustawiłem, aby korzystać z danych ograniczonych do wybranego czasu (w moim przypadku jest to 15 maja). Oznacza to, że widzimy miesiące, które tak naprawdę jeszcze nie wystąpiły. Spróbujmy więc nieco zmodyfikować miarę, sprawdzając wcześniej, ile mamy faktów (dokąd one „dochodzą”). Zrobimy to nową miarą, tak aby było widać różnicę.
Nazwijmy nową miarę Sales YTD 1. Podczas jej tworzenia skorzystamy z faktu, że możemy tworzyć zmienne. Stwórzmy zatem zmienną LastFactDate, w której będziemy przechowywali wartość ostatniego dnia sprzedaży. Tak więc do zmiennej przypiszmy wartość funkcji LASTDATE, jako argument podając kolumnę daty sprzedaży.
Kolejnym krokiem będzie wykonanie operacji podobnych, jak w przypadku tworzenia miary Sales YTD. To jest zwracamy funkcję CALCULATE, jako argument przyjmującą sumę sprzedaży z kolumny [Revenue]. Zmieniamy także tak, jak ostatnim razem kontekst dat za pomocą filtra DATESYTD. Nie będzie to jednak ostatni krok przy tworzeniu nowej miary. Jako, że funkcja CALCULATE pozwala nam korzystać z wielu filtrów, dodajemy kolejny. Będzie nim proste sprawdzenie czy data wykorzystywana do zliczania narastającej sumy sprzedaży jest mniejsza bądź równa zapamiętanej w zmiennej dacie LastFactDate.
Teraz na wykresie podmieńmy miarę Sales YTD na Sales YTD 1. Wszystko działa właściwie. Nie widzimy już danych z miesięcy, które jeszcze się nie zakończyły. Zweryfikujmy także czy nowa miara działa właściwie dla poprzednich lat. Powinna działać bez zarzutu.
Spróbujmy przygotować teraz raport porównujący dane z rokiem poprzednim. Zacznijmy od prostego, jak w przypadku miary YTD, a następnie przejdziemy do przygotowania takiego korzystającego z daty ostatniego miesiąca, w którym zanotowano sprzedaż.
Tworzymy zatem nową miarę o nazwie Sales YTD PY (previous year). Przypisujemy do niej funkcję CALCULATE, jako jej argument przyjmujemy miarę Sales YTD 1. Dodajemy funkcję filtrującą SAMEPERIODLASTYEAR, wskazując jej kalendarz.
Nowo utworzoną miarę dodajemy do przygotowanego wcześniej wykresu. Po raz kolejny miara wyświetla dane właściwe dla lat poprzednich, jednak ma problem z bieżącym rokiem, gdzie sprzedaż dotyczy jedynie okresu styczeń – maj. Aby naprawić sytuację utwórzmy nową miarę. Dla utrzymania spójności nazwijmy ją Sales YTD PY 1. Możemy oczywiście skopiować treść Sales YTD PY, ponieważ będziemy ją jedynie modyfikować. Podobnie, jak w przypadku tworzenia miary Sales YTD 1 modyfikacja będzie polegała na wyznaczeniu daty ostatniego miesiąca, dla którego mamy sprzedaż i zapisaniu tej daty w zmiennej (LastFactDate). Zmienna ta posłuży nam jako element filtra, gdzie sprawdzimy czy dany miesiąc jest mniejszy bądź równy wartości zmiennej.
Nowa miara została przygotowana. Dodajmy ją do naszego wykresu, jednocześnie usuwając miarę Sales YTD PY. Teraz, po jej podmianie widzimy, że dla ostatniego roku wyświetlane są dane wyłącznie do maja (zarówno dla aktualnego roku, jak i poprzedniego). Wszystko jest także dobrze dla lat poprzednich.
Spróbujmy dodać dane np. z czerwca i zobaczyć czy nasze miary będą dalej działały właściwie. Z górnego menu wybieramy opcję Transform Data. Na zbiorze danych mam założony filtr, który ogranicza dane do połowy maja. Zmieńmy filtr, tak aby korzystać również z danych z czerwca. Po wykonaniu operacji przeładujmy dane. Proces potrwa chwilę. Kiedy zostanie zakończony zauważymy, że nowo dodane dane są dostępne na naszym wykresie, wszystko działa właściwie dla roku aktualnego oraz lat poprzednich.
Tak więc osiągnęliśmy cel, z tak przygotowanego raportu szef sprzedaży powinien być zadowolony.
Dziękuję wszystkim za obejrzenie odcinka i zapraszam do następnego.