Automatyczna data/godzina w Power BI

Porozmawiajmy od funkcji tworzenia automatycznych hierarchii dat w Power BI. Nie jest ona taka prosta, jak by się mogło wydawać. Bo w końcu co jest skomplikowanego w podzieleniu daty na rok/kwartał/miesiąc/dzień?

Ale zacznijmy od początku.

Wchodząc do opcji w Power BI znajdziesz opcję Automatyczna data/godzina zarówno w zakładce GLOBALNE jak i BIEŻĄCY PLIK.

Opcje automatycznej analizy czasowej w Power BI

W zakładce GLOBALNE ustawiasz jej aktywację dla wszystkich nowych plików.
BIEŻĄCY PLIK – możesz ją włączać/wyłączać tylko dla pliku w którym obecnie pracujesz.

Jeżeli będzie ona włączona to dla każdej kolumny w Twoim modelu zawierającej daty zostanie stworzona automatyczna hierarchia:

Automatyczna hierarchia dat

Ba! Nie tylko zwykła hierarchia, ale teraz też możemy używać funkcji analizy czasowej opartych o te kolumny.

No i myślisz sobie – super! Nie muszę tego robić manualnie!

I właśnie taki był zamysł tej funkcji. Pamiętajmy, że Power BI to narzędzie, które powstało z myślą o użytkownikach biznesowych. Takich, którzy nie chcą zagłębiać się w technikalia ale za to potrzebują szybkiego dostępu do informacji.

Więc dlaczego ja mam ją wyłączoną?

Aby odpowiedzieć na to pytanie cofnijmy się do podstaw – czym jest tabela dat?

Oficjalna dokumentacja Power BI podpowiada nam, jakie wymagania muszą być spełnione:

  • Musi mieć kolumnę typu danych data (lub data/godzina) — jest to tak zwana kolumna dat.
  • Kolumna dat musi zawierać wartości unikatowe.
  • Kolumna dat nie może zawierać wartości pustych.
  • Kolumna dat nie może zawierać brakujących dat.
  • Kolumna dat musi obejmować pełne lata. Rok nie musi być koniecznie rokiem kalendarzowym (styczeń – grudzień).
  • Tabela dat musi być oznaczona jako tabela dat.

No to analizujemy punkty po kolei:

Musi mieć kolumnę typu danych data (lub data/godzina)

✅ No i to wymaganie będzie spełnione. W końcu nasze tabele posiadają taką kolumnę.

Kolumna dat musi zawierać wartości unikatowe.

🛑 A tutaj już zaczynają się schody. W większości przypadków nie mamy do czynienia z kolumną, w której każdy wiersz będzie reprezentował unikalną wartość.

Kolumna dat nie może zawierać wartości pustych.

✅ To wymaganie będzie w większości przypadków spełnione.

Kolumna dat nie może zawierać brakujących dat.

🛑 I tutaj mamy największy problem – musisz mieć naprawdę ogromne szczęście, żeby mieć tabelę w której faktycznie będzie zachowana ciągłość dat. Podobnie jak przy unikatowych wartościach

Kolumna dat musi obejmować pełne lata.

🛑 Znowu marne szanse na to, że w Twoim źródle danych akurat tak będzie

Tabela dat musi być oznaczona jako tabela dat.

🛑 Nawet, jeżeli niczego i nigdzie nie oznaczysz – będziesz mógł korzystać z funkcji analizy czasowej i hierarchii. Magia!

I teraz zaczynają pojawiać się pytania. Ale jak?

Skoro nie spełniamy wymagań dotyczących tabeli dat i skoro tabela dat jest potrzebna do tego, aby korzystać z funkcji analizy czasowej to jak to się dzieje, że korzystając z automatycznej hierarchii te funkcje są dostępne?

Odpowiedź jest prosta (a przy okazji nawet trochę przerażająca)

Automatyczna data/godzina tworzy ukrytą tabelę dat dla każdej kolumny, w której mamy datę/czas!

Tak – dobrze widzisz. Jeżeli masz model danych w którym jest 20 kolumn z datami – to zostanie utworzonych 20 wirtualnych tabel dat.

Doskonale to widać w DAX Studio.

Ukryte tabele dat w DAX Studio

Tutaj mamy bardzo prosty model – zaimportowanych tylko 6 tabel. Ale… Dla tych 6 tabel z danymi zostało utworzonych aż 11 odrębnych tabel dat!

Każda z tych tabel składa się z 7 kolumn i ok. 2.600 wierszy. I to wszystko wymaga obliczenia i siedzi w pamięci. Co za tym idzie negatywnie wpływa na wydajność Twojego raportu.

Dla porównania – tak to wygląda dla modelu w którym stworzymy kalendarz i oznaczymy go jako tabelę dat:

Model danych z tabelą dat

Właśnie dlatego korzystanie z porządnej tabeli dat jest tak istotne w Power BI.

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.