Úvod

Dokončeno

Pomocí jazyka DAX (Data Analysis Expressions) můžete do sémantického modelu přidat tři typy výpočtů:

  • Počítané tabulky
  • Počítané sloupce
  • Míry

Poznámka

Jazyk DAX lze také použít k definování pravidel zabezpečení na úrovni řádků (RLS), což jsou výrazy, které vynucují filtry v tabulkách modelu. Pravidla se ale nepovažují za výpočty modelu, takže tento modul se na ně nezaměřuje. Další informace najdete v tématu Zabezpečení na úrovni řádků (RLS) v Power BI.

Počítané tabulky

Když chcete do svého modelu přidat počítanou tabulku, můžete použít vzorec DAX. Vzorec může duplikovat nebo transformovat data stávajícího modelu, případně vytvořit řadu dat, aby vznikla nová tabulka. Počítaná data tabulky se vždy importují do modelu, takže se tím zvětšují velikost úložiště modelu a můžou prodloužit dobu aktualizace dat.

Poznámka

Počítaná tabulka se nemůže připojit k externím datům. K takovému úkolu musíte použít Power Query.

Počítané tabulky jsou vhodné pro různé scénáře, jako jsou:

  • Tabulky kalendářních dat
  • Dimenze role
  • Citlivostní analýza

Tabulky kalendářních dat

Tabulky kalendářních dat jsou nutné, když chcete použít speciální časové filtry označované jako časové měřítko. Funkce časového měřítka jazyka DAX fungují správně pouze při nastavení tabulky kalendářních dat. Pokud zdrojová data neobsahují tabulku kalendářních dat, můžete ji vytvořit jako počítané tabulky pomocí funkcí jazyka CALENDAR DAX nebo CALENDARAUTO .

Dimenze role

Pokud dvě tabulky modelu mají více relací, může to být způsobeno tím, že váš model má dimenzi role. Pokud máte například tabulku s názvem Sales (Prodej ), která obsahuje dva sloupce kalendářních dat , OrderDateKey a ShipDateKey, oba sloupce souvisejí se sloupcem Date (Datum ) v tabulce Date ( Datum ). V tomto případě je tabulka Date popsaná jako dimenze role, protože by mohla hrát roli data objednávky nebo data expedice.

Obrázek znázorňuje dvě tabulky: Sales (Prodej) a Date (Kalendářní data). Mezi tabulkami existují dvě relace. Ale jen jedna relace je aktivní.

Modely aplikace Microsoft Power BI umožňují navázat mezi tabulkami jen jednu relaci, která je v diagramu modelu označena plnou čarou. Aktivní relace se ve výchozím nastavení používá k šíření filtrů, které by v tomto případě byly z tabulky Date do sloupce OrderDateKey v tabulce Sales . Všechny ostatní relace mezi těmito dvěma tabulkami jsou neaktivní. V diagramu modelu jsou tyto relace znázorněny jako přerušované čáry. Neaktivní relace se používají jenom v případech, kdy jsou výslovně požadovány v počítaném vzorci pomocí USERELATIONSHIP funkce DAX.

Lepší návrh modelu by mohl mít dvě tabulky kalendářních dat, z nichž každá má aktivní relaci k tabulce Sales . Uživatelé sestavy by tak mohli filtrovat podle data objednávky, nebo data expedice, případně podle obou zároveň. Počítaná tabulka může duplikovat data tabulky Date a vytvořit tak tabulku Datum expedice .

Obrázek znázorňuje dvě tabulky: Sales (Prodej) a Date (Kalendářní data). Mezi tabulkami Sales (Prodej) a Date (Kalendářní data) existuje jedna relace, stejně jako mezi tabulkami Sales (Prodej) a Ship Date (Datum expedice). Obě relace jsou aktivní.

Citlivostní analýza

Power BI Desktop podporuje funkci nazvanou parametry citlivostní analýzy. Když vytvoříte parametr citlivostní analýzy, do vašeho modelu se automaticky přidá počítaná tabulka.

Parametry citlivostní analýzy umožňují uživatelům sestavy vybrat nebo vyfiltrovat hodnoty, které jsou uložené v dané počítané tabulce. Vzorce měr mohou s vybranými hodnotami smysluplně pracovat. Například parametr citlivostní analýzy by uživateli sestavy umožnil vybrat hypotetický směnný kurz a míra by podle tohoto vybraného kurzu rozdělila hodnoty výnosů (v místní měně).

Počítané tabulky citlivostní analýzy nemají relace s jinými tabulkami modelu, protože se nepoužívají k šíření filtrů. Proto se jim někdy říká odpojené tabulky.

Počítané sloupce

Pokud chcete do tabulky v modelu přidat počítaný sloupec, můžete napsat vzorec DAX. Vzorec se vyhodnotí pro každý řádek tabulky a vrátí jednu hodnotu. Po přidání do tabulky režimu úložiště importu se vzorec vyhodnotí při aktualizaci sémantického modelu a zvětší velikost úložiště vašeho modelu. Když ho přidáte do tabulky, která je v režimu úložiště DirectQuery, vzorec vyhodnotí podkladová zdrojová databáze, když je odeslán dotaz na tabulku.

V podokně Pole jsou počítané sloupce zvýrazněné zvláštní ikonou. Následující příklad ukazuje jeden počítaný sloupec v tabulce Customer s názvem Age.

Obrázek ukazuje část podokna Pole. V tabulce Customer (Zákazník) je obsaženo několik polí. Jedno je zvýrazněno zvláštní ikonou, která značí, se jde o počítaný sloupec.

Míry

Pokud chcete do tabulky v modelu přidat míru, můžete napsat vzorec DAX. Cílem vzorce je souhrn dat modelu. Podobně jako v případě počítaného sloupce musí tento vzorec vrátit jedinou hodnotu. Na rozdíl od počítaných sloupců, které se vyhodnocují v době aktualizace dat, se míry vyhodnocují v době dotazu. Jejich výsledky se nikdy neukládají do modelu.

V podokně Pole jsou míry označeny pomocí ikony kalkulačky. Následující příklad ukazuje tři míry v tabulce Sales : Cost( Náklady), Profit (Zisk) a Revenue (Výnosy).

Obrázek ukazuje část podokna Pole. V tabulce Sales (Prodeje) je obsaženo několik polí. Tři jsou označeny ikonou kalkulačky, což znamená, že se jedná o míry.

V některých případech lze míry považovat za explicitní míry. Explicitní míry jsou výpočty modelu psané v jazyce DAX a běžně se jim říká jednoduše míry. Ale existují také implicitní míry. Implicitní míry jsou sloupce, které lze shrnout pomocí jednoduchých vizuálů, jako je počet, součet, minimum, maximum a tak dále. Implicitní míry můžete identifikovat v podokně Pole , protože se zobrazují pomocí symbolu sigma ( ∑ ).

Poznámka

Jakmile přidáte do vizuálu libovolný sloupec, můžete vytvořit jeho souhrn. Proto bez ohledu na to, jestli jsou zobrazeny se symbolem sigma, mohou být při přidání do vizuálu nastaveny jako implicitní míry.

V tabulkovém modelování navíc neexistuje koncept počítané míry. Slovo počítaný slouží k označení počítaných tabulek a počítaných sloupců, které se tak rozlišují od tabulek a sloupců, které mají původ v Power Query. Power Query nemá koncept explicitní míry.