Ako napísať DAX dotaz z Excelu

Niekedy potrebujete zavolať DAX-ový dotaz na dátový model v PowerPivote. Napríklad vtedy, keď robíte nejaý komplikovaný výpočet, a potrebujete si overiť jeho medzikroky, či to správne počíta. V niektorých prípadoch sa na to síce dajú použiť merítka, ale keď robíte s funkciami ako FILTER, TOPN či SUMMARIZE, a ich výsledky využívate v ďalších výpočtoch, tak si v prípade problémov potrebujete overiť, čo Vám vrátia. Na to existuje hneď niekoľko nástrojov, a my si ukážeme tú najjednoduchšiu možnosť – ako napísať DAX dotaz z Excelu.

V jednom z prechádzajúcich článkov som písal o rozdieloch medzi jazykmi SQL a DAX. Problém bol v tom, že ak ste nevedeli o nástrojoch, kde sa tieto dotazy dali vyskúšať, tak ste museli chvíľu hľadať, kým ste také niečo našli, ak ste teda vôbec niečo našli – napr. SQL Server Management Studio alebo DAX Studio. Existuje však jedna šikovná skrytá možnosť v kontingenčných tabuľkách, pomocou ktorej si môžete zobraziť výsledok ľubovoľného DAX dotazu. A stačí Vám na to iba Excel 2013 alebo novší. Ak ešte neviete, ako sa píšu DAX-ové dotazy, prečítajte si najprv tento článok.

Tou fintou, ako sa dostať k zadávaniu DAX dotazu, je spraviť si najprv kontingenčnú tabuľku z PowerPivotu. V nej si vyskladajte nejakú štatistiku, a v podstate je jedno, aká bude – my to využijeme iba ako vstupný bod k tej funkcionalite. Majme teda napr. takúto kontingenčku, vyrobenú z nášho vzorového súboru PowerPivotu:

Potom si dáme do Excelu vyliať niektorú z tabuliek z dátového modelu. Musí to byť iná ako linkovaná tabuľka, lebo pri nich to nebude fungovať. Kliknite na nejakú bunku MIMO kontingenčky, a v menu Excelu kliknite na Údaje -> Existujúce pripojenia:

Otvorí sa okno, v ktorom kliknite na záložku Tabuľky, a v nej vyberte niektorú z tých tabuliek – čím menšia, tým lepšia. Ja som napr. vybral tabuľku Meny a dvakrát na ňu poklikal:

V ďalšom okne vyberte, že chcete vyliať dáta do tabuľky na novom hárku, a kliknite na OK:

To nám vyleje dáta z vybranej tabuľky do Excelu:

A keď už máme toto, tak klikneme pravým na tú tabuľku, a v menu vyberieme Tabuľka -> Upraviť DAX…:

A to nás dostane do vytúženého okna, aby sme mohli zadať DAX dotaz z Excelu 🙂 V tomto okne zmeňte v rozbaľovacom boxe Typ príkazu na DAX, a potom do toho veľkého bieleho políčka zadajte nejaký DAX-ový dotaz, a kliknite na OK:

V tomto prípade bol zadaný dotaz, ktorý odfiltruje všetky objednávky len na tie s cenou nad 5000 eur. Výsledok vyzerá takto:

A takáto tabuľka sa nazýva linkback tabuľka.

Tu si dajte pozor na tieto veci:

  1. DAX-ové dotazy používajú vždy čiarky ako oddeľovač parametrov (nie ako PowerPivot, ktorý používa bodkočiarky alebo čiarky v závislosti od jazyka Excelu)
  2. DAX-ový dotaz musí byť zadaný bez chyby
  3. v tomto okne nefunguje automatické doplňovanie názvov, takže musíte byť naozaj precízni v písaní dotazov

Takže, ak Vám to vyhovuje, alebo Vám neumožňujú v práci nainštalovať iné nástroje, tak si takto môžete veselo zobraziť ľubovoľný DAX dotaz z Excelu – samozrejme len z dátového modelu. Je to síce prehistoricky vyzerajúce okno, ale funguje a svoj účel spĺňa. A ak Vám nevyhovuje, tak v niektorom z nasledujúcich článkov si ukážeme ďalšie nástroje. Zatiaľ snáď zvládnete prežiť aj s týmto 😉