Práce s funkcemi jazyka DAX

Dokončeno

Knihovna funkcí DAX se skládá ze stovek funkcí, z nichž každá je navržena pro splnění konkrétního cíle.

Vzhledem k tomu, že jazyk DAX vznikl pomocí doplňku Power Pivot pro Microsoft Excel 2010, je k dispozici více než 80 funkcí, které najdete také v Excelu. Strategií společnosti Microsoft v tomto případě bylo, aby uživatelé Excelu mohli s jazykem DAX rychle začít pracovat.

Existuje ale mnoho funkcí, které v Excelu nenajdete, protože jsou specifické pro modelování dat:

  • Navigační funkce relací
  • Funkce úprav kontextu filtru
  • Funkce iterátoru
  • Funkce časového měřítka
  • Funkce PATH

Tip

Když chcete vyhledat dokumentaci související s určitou funkcí DAX, do vyhledávání na webu zadejte klíčové slovo DAX a název dané funkce.

Další informace najdete v tématu Referenční informace o funkcích jazyka DAX.

Funkce založené na funkcích Excelu

V následujících oddílech se setkáte s několika užitečnými funkcemi, které už možná znáte, protože se používají i v Excelu.

Funkce jazyka IF DAX testuje, jestli je splněna podmínka, která je zadaná jako první argument. Pokud je podmínka splněna (TRUE), vrátí jednu hodnotu. Pokud podmínka není splněna (FALSE), vrátí jinou hodnotu. Syntaxe funkce je následující:

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Tip

Argument funkce je nepovinný, pokud je v dokumentaci zobrazený v hranatých závorkách.

Pokud je argument logical_test vyhodnocen jako FALSE a argument value_if_false není zadán, funkce vrátí prázdnou hodnotu.

K dispozici je mnoho funkcí excelových souhrnů, včetně SUMfunkcí , COUNTAVERAGE, MIN, MAXa mnoha dalších. Jediným rozdílem je, že v jazyce DAX předáváte odkaz na sloupec, zatímco v Excelu předáváte oblast buněk.

K dispozici je také mnoho excelových funkcí pro matematické operace, práci s textem, datem a časem a informacemi. Také můžete využívat logické funkce. Mezi malé ukázky funkcí Excelu, které jsou k dispozici v jazyce DAX, patří ABS, LENRIGHTSQRTLEFTROUND, MONTHNOWYEARISNUMBERTRUEDATEUPPERANDORFALSENOTa .IFERROR

Funkce, které nejsou založené na funkcích Excelu

Dvě užitečné funkce jazyka DAX, které nejsou specifické pro modelování a nepocházejí z Excelu, jsou DISTINCTCOUNT a DIVIDE.

Funkce DISTINCTCOUNT

Pomocí funkce DAX můžete DISTINCTCOUNT spočítat počet jedinečných hodnot ve sloupci. Tato funkce je zvláště efektivní v analytickém řešení. Představte si situaci, kdy je celkový počet zákazníků odlišný od počtu jedinečných zákazníků. Do počtu jedinečných zákazníků se každý zákazník započítá jen jednou, takže rozdíl spočívá v počtu zákazníků ve srovnání s počtem různých zákazníků.

Funkce DIVIDE

K dělení můžete použít DIVIDE funkci DAX. Funkce vyžaduje předání výrazů čitatele a jmenovatele. Pokud chcete, můžete předat hodnotu, která představuje alternativní výsledek. Syntaxe DIVIDE funkce je:

DIVIDE(<numerator>, <denominator>[, <alternate_result>])

Funkce DIVIDE automaticky zpracovává dělení nulovými případy. Pokud nedojde k předání alternativního výsledku a jmenovatel je nula nebo prázdná hodnota, funkce vrátí prázdnou hodnotu. Pokud je předán alternativní výsledek, vrátí se místo prázdné hodnoty.

Tato funkce je užitečná, protože díky ní se ve vašem výrazu nemusí nejprve testovat hodnota jmenovatele. Funkce je také lépe optimalizovaná pro testování hodnoty jmenovatele než IF funkce. Zvýšení výkonu je významné, protože kontrola dělení nulou je náročná. Používání funkce navíc vede ke DIVIDE stručnějšímu a elegantnějšímu výrazu.

Tip

Doporučujeme funkci použít DIVIDE vždy, když je jmenovatelem výraz, který by mohl vrátit nulu nebo PRÁZDNOu hodnotu. Pokud je jmenovatel konstantní hodnota, doporučujeme používat operátor dělení (/), na který se zaměříme v dalších částech tohoto modulu. V takovém případě máte jistotu, že dělení bude úspěšné, a váš výraz bude lépe fungovat, protože se vyhnete zbytečnému testování.