Práce s funkcemi jazyka DAX
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ě SUM
funkcí , COUNT
AVERAGE
, MIN
, MAX
a 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
, LEN
RIGHT
SQRT
LEFT
ROUND
, MONTH
NOW
YEAR
ISNUMBER
TRUE
DATE
UPPER
AND
OR
FALSE
NOT
a .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í.