Jazyk DAX (Data Analysis Expressions) je podobně jako v excelu sada funkcí, které slouží pro práci a úpravu dat před reportováním v Power BI nebo Powerpivot. Tento jazyk podobně jako Excel vrací hodnoty na základě používání funkcí. V Excelu můžeme obohatit, doplnit nebo analyzovat data před tím než jsou odreportována a DAX umožňuje to samé.
Srovnání Excel a DAX funkcí – k nováčkům je shovívavý
Jazyk DAX má pro nováčky tu výhodu, že je zachována významná podobnost s Excelem => spousta funkcí má stejný název a dělá to samé. Jak jsem už naznačil, mezi Excelem a DAXem jsou podobnosti, ale i značné odlišnosti. Pojďme se na ně podívat.
1) Co mají Excel a DAX společného?
- Účel – oba nástroje pomáhají pracovat s daty a na základě vzorců je doplňovat, analyzovat.
- Podobné funkce – Spousta funkcí mají stejné nebo názvy jako v Excelu (samozřejmě v angličtině) a funkce se tak lépe naučíte, namátkou YEAR, WEEKDAY, AND, IF, atd.
- Kategorie funkcí – funkce se stejně jako v excelu člení do kategorií, které jsou si také vcelku podobné, níže kategorie a příklad funkcí. Pokud znáte excel funkce zpaměti uvidíte tam totožné/pobobné.
- Datum a čas (Date and time) – DATE, EOMONTH, TODAY()
- Informační funkce (Information) – ISERROR, ISNUMBER, ISTEXT
- Logické funkce (Logical) – IF, IFERROR, AND
- Matematické funkce (Math) – ABS, POWER, ROUND
- Statistické funkce (Statistical) – AVERAGE, MAX, COUNTBLANK
- Textové funkce (Text) – CONCACENATE, LEFT, SEARCH
- (!) Time intelligence funkce – ENDOFMONTH, NEXTQUARTER, DATESBETWEEN
- (!) Filtrovací funkce – DISTINCT, FILTER, RELATEDTABLE
2) Rozdíly Excel a DAX
- Funkce DAXu fungují narozdíl od Excelu jako v databázi – v Excelu nebo jiném tabulkovém procesoru jsme zvyklí chápat excelovskou buňku nebo oblast jako kalkulační jednotku nebo referenci pro vzorec. Např. v rámci jednoho sloupce v Excelu můžeme mít různé vzorce. V DAXu to tak není možné a vzorec působí vždy na celý sloupec a každý řádek tabulky má stejný vzorec
- DAX umí vracet tabulku jako výsledek funkce
- Primární určení – DAX je určen pro práci s tabulkou a sloupci, excel je určen pro práci s hodnotami
- Datový model – Pokud pracujeme s více tabulkami, tak musíme v powerpivot nastavit reference (propojení sloupců) tabulek. Pokud použijeme DAX funkci, která agreguje nebo vyhledává hodnotu v jiné tabulce, tak musí toto propojení být nastaveno.
Jak a kde psát vzorce v DAX?
Nejprve si Power BI desktop nejprve naimportujte nějaká data (třeba z excelu). Do příkazového řádku pro vzorce se dostaneme tak, otevřeme naimportovanou tabulku a založíme si nový sloupec. Pro ukázku příklad níže – pracujeme s tabulkou kalendáře a píšeme jednoduchou funkci, která z pole “Datum” spočítá Rok. Jak pracovat s parametry vzorců se dozvíte v článku Parametry – Úvod do výraziva DAXu.
Teď už jen zbývá rozšiřovat znalosti funkcí a jazyk DAX trénovat.