Digitální akademie Power BI

Time Intelligence

Pro někoho se jedná o úžasnou funkci, která mu ulehčuje práci s daty. Pro někoho je to jako noční můra, která snižuje výkon reportu. 

Jsou to dva velmi rozdílné pohledy, se kterými se můžete v průběhu své práce s Power BI setkat. Osobně jsem se setkal s oběma variantami. Pro pochopení, proč tu tyto názory jsou, a jak s Time Intelligence v Power BI pracovat, nebo naopak nepracovat musíme pochopit, jak Time Intelligence funguje a co způsobuje na pozadí.

Co je to Time Intelligence

Jedná se o soubor funkcí jazyka DAX, které poskytují rychlejší práci s daty. Příkladem ulehčení a zrychlení práce může být například následující zápis.

Vyvolání funkce Kvartál z Time Intelligence dimenze

Tento zápis nevrací jen hodnotu 3, přestože se jedná o třetí kvartál roku, ale rovnou vrací i označení „Qrt“. Pokud bychom chtěli jen číslovku 3, pak bychom Quarter změnili na QuarterNo.

Vyvolání funkce Kvartál bez označení z Time Intelligence Dimenze

Není potřeba tedy rozepisovat další funkce. Hodnoty můžeme přivolat pomocí „.[QuarterNo]“ za odkazem na sloupec s daty. Obecně po zadání tečky za odkaz na sloupec vám Time Intelligence nabídne následující volby, které umí přivolat. Pokud je funkce Time Intelligence vypnutá, pak se tyto volby nezobrazí.

Vyvolání všech dimenzí Time Intelligence v Power BI

Co se stane na pozadí, při aktivaci?

Automaticky se z datových sloupců vytvoří hierarchie dat, která obsahuje rok, kvartál, měsíc, den. Tato hierarchie je realizována pomocí dimenze, která se naváže na datový sloupec. Tuto dimenzi v Power BI jako tabulku nenaleznete, ale jde ji nalézt například pomocí nástroje DAX Studio, které vám odhalí, že krom jedné nové dimenze Time Intelligence vytváří hned dvě. DateTableTemplate a LocalDateTable.

Datová struktura dokumentu Power BI při zapnuté funkci

Na obrázku můžete vidět, co vše nově vzniklé dimenze obsahují. Takto vypadá záznam v DAX Studiu bez zapnuté funkce.

Datová struktura dokumentu Power BI bez aktivované funkce

Z těchto dvou obrázků plyne, že při zapnuté funkci Time Intelligence se bude zvětšovat objem PBIX souboru. O kolik se objem zvětší, je závislé na počtu datových sloupců a na počtu záznamů v jednotlivých sloupcích.

Soubor pbix bez Time Intelligence s datumy z M
Soubor pbix s Time Intelligence s datumy z M

Toto je porovnání souboru s jedním datovým sloupcem vytvořeným ve Query o 6001 záznamech. První záznam je bez zapnuté funkce a druhý je již se zapnutou.

Soubor PBIX bez Time Intelligence s datumy z DAX
Soubor PBIX sTime Intelligence s datumy z DAX

Tentokrát jde o porovnání opět s jedním datovým sloupcem o 6001 záznamech, ale zde jde o sloupec vytvořený v DAX jazyku pomocí funkce Calendar. První záznam je bez zapnuté funkce a druhý je již se zapnutou.

Z obou výsledků vyplývá, že soubor se zvětšuje. V těchto případech to ani není tak markantní rozdíl. Leckdy se ale můžete setkat s případem, že soubor může narůst řádově až o několik MB, což znatelně sníží rychlost.

Funguje to vždy se všemi sloupci, které obsahují data?

Ne tak úplně…aby funkce Time Intelligence mohla fungovat, tak potřebuje, aby byl sloupec označen jako datum (date) nebo datum/čas (date/time) a musí obsahovat nepřerušenou řadu (žádné duplicitní záznamy). Pokud tedy budete mít řadu od 1.1.2019 do 30.12.2019, ale bude vám mezi nimi chybět datum 13.6.2019, pak funkce Time Intelligence nezafunguje.

Že funkce s vašimi daty zafungovala, můžete zjistit velmi jednoduše. U vašeho sloupce s datem se vytvoří rozbalovací nabídka a ikona kalendáře, pod kterou naleznete hierarchii.

Automaticky vytvořená hierarchie nad sloupcem Datum

Pokud by funkce nezafungovala, pak vám v přehledu zůstane pouze váš sloupec bez ikony a hierarchie.

Sloupec Datum bez automatické hierarchie

Kde povolím, nebo deaktivuji funkci Time Intelligence?

Funkce Time Intelligence je v základním nastavení povolena a měla by se provádět automaticky. Tato funkce se dá nastavit jak obecně pro všechny nově vytvořené soubory, tak pro konkrétní. Pokud tedy chcete tuto funkci pro své reporty vypnout, nebo naopak zapnout, pak musíte do Menu -> Možnosti a Nastavení (Options and Settings) -> Možnosti (Options). Zde se dá Time Intelligence nalézt ve dvou záložkách.

Pokud chcete nastavit globálně, aby se další reporty vytvářeli s/bez této funkce, pak:
Globální Nastavení -> Načtení dat a vypnout/zapnout v sekci Časové měřítko

Nastavení pro aktuální soubor se nastavuje zde:

Aktuální soubor -> Načtení dat a vypnout/zapnout v sekci Časové měřítko

Related Posts

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.