Jazyk DAX (Data Analysis Expressions) v doplnku Power Pivot

Jazyk DAX (Data Analysis Expressions) v doplnku Power Pivot

Výrazy DAX (Data Analysis Expressions) vyvoláva na prvý pohľad trochu zastrašujúceho, ale nenechajte zmiasť menom. Základy jazyka DAX sú veľmi jednoduché na pochopenie. First Things First-DAX nie je programovací jazyk. DAX je jazyk vzorca. DAX môžete použiť na definovanie vlastných výpočtov pre vypočítavané stĺpce a pre miery (známe aj ako vypočítavané polia). DAX obsahuje niektoré funkcie, ktoré sa používajú vo vzorcoch programu Excel, a ďalšie funkcie, ktoré sú navrhnuté tak, aby pracovali s relačnými údajmi a vykonali dynamickú agregáciu.

Vysvetlenie vzorcov jazyka DAX

Vzorce jazyka DAX sú podobné vzorcom Excelu. Ak ju chcete vytvoriť, zadáte znak rovnosti, za ktorým nasleduje názov funkcie alebo výraz, a všetky požadované hodnoty alebo argumenty. Podobne ako Excel poskytuje DAX rôzne funkcie, ktoré môžete použiť na prácu s reťazcami, vykonávať výpočty pomocou dátumov a časov alebo vytvoriť podmienené hodnoty.

Vzorce jazyka DAX sa však líšia týmito dôležitými spôsobmi:

  • Ak chcete prispôsobiť výpočty na základe riadka po riadkoch, DAX zahŕňa funkcie, ktoré umožňujú použiť aktuálnu hodnotu riadka alebo súvisiacu hodnotu na vykonávanie výpočtov, ktoré sa líšia v kontexte.

  • DAX obsahuje typ funkcie, ktorá vráti tabuľku ako výsledok, nie jednu hodnotu. Tieto funkcie je možné použiť na poskytnutie vstupných údajov iným funkciám.

  • Funkcie časovej inteligenciev jazyku Dax umožňujú výpočty pomocou rozsahov dátumov a porovnávajú výsledky cez paralelné obdobia.

Použitie vzorcov jazyka DAX

V Power Pivot môžete vytvoriť vzorce vo výpočte columns alebo v vypočítavanej fields.

Vypočítavané stĺpce

Vypočítavaný stĺpec je stĺpec, ktorý pridáte do existujúcej tabuľky Power Pivot. Namiesto prilepenia alebo importu hodnôt v stĺpci vytvoríte vzorec DAX definujúci hodnoty stĺpcov. Ak zahrniete tabuľku Power Pivot do kontingenčnej tabuľky (alebo kontingenčného grafu), vypočítaný stĺpec možno použiť ako ktorýkoľvek iný stĺpec údajov.

Vzorce vo vypočítavaných stĺpcoch sú podobne ako vzorce, ktoré vytvoríte v Exceli. Na rozdiel od Excelu však nie je možné vytvoriť iný vzorec pre rôzne riadky v tabuľke. vzorec DAX sa namiesto toho automaticky použije na celý stĺpec.

Ak stĺpec obsahuje vzorec, hodnota sa vypočíta pre každý riadok. Výsledky sa vypočítavajú pre stĺpec hneď po vytvorení vzorca. Hodnoty stĺpcov sa prepočítajú iba v prípade, ak sa základné údaje obnovia alebo sa použije manuálny výpočet.

Môžete vytvoriť vypočítavané stĺpce, ktoré sú založené na mierach a iných vypočítavaných stĺpcoch. Vyhýbajte sa však použitiu rovnakého názvu pre vypočítavaný stĺpec a mieru, pretože to môže viesť k mätúcim výsledkom. Pri odkaze na stĺpec je najlepšie použiť úplný kvalifikovaný odkaz na stĺpec, aby ste zabránili náhodnému uplatneniu opatrenia.

Podrobnejšie informácie nájdete v téme vypočítavané stĺpce v doplnku Power Pivot.

Opatrenia

Mierka je vzorec, ktorý sa vytvorí špeciálne na použitie v kontingenčnej tabuľke (alebo kontingenčného grafu), ktorá používa Power Pivot údaje. Opatrenia môžu byť založené na štandardných funkciách agregácie, ako je napríklad COUNT alebo SUM, alebo môžete definovať vlastný vzorec pomocou jazyka DAX. Ukazovateľ sa používa v oblasti hodnoty kontingenčnej tabuľky. Ak chcete uviesť vypočítavané výsledky v inej oblasti kontingenčnej tabuľky, použite namiesto toho vypočítavaný stĺpec.

Pri definovaní vzorca pre explicitné opatrenie sa nič nestane, kým nepridáte ukazovateľ do kontingenčnej tabuľky. Po pridaní miery sa vzorec vyhodnotí pre každú bunku v oblasti hodnôt kontingenčnej tabuľky. Keďže výsledok sa vytvorí pre každú kombináciu hlavičiek riadkov a stĺpcov, výsledok daného ukazovateľa sa môže líšiť v každej bunke.

Definícia vytvoreného ukazovateľa sa uloží s tabuľkou zdrojové údaje. Zobrazí sa v zozname polí kontingenčnej tabuľky a je k dispozícii pre všetkých používateľov zošita.

Podrobnejšie informácie nájdete v téme Miery v doplnku Power Pivot.

Vytváranie vzorcov pomocou riadka vzorcov

Power Pivot, ako napríklad Excel, poskytuje panel vzorcov, ktorý zjednodušuje vytváranie a upravovanie vzorcov a funkcie automatického dokončovania, aby sa minimalizovali chyby pri písaní a syntaktických chybách.

Zadanie názvu tabuľky   Začnite zadávať názov tabuľky. Funkcia Automatické dokončovanie vzorca poskytuje rozbaľovací zoznam obsahujúci platné názvy, ktoré sa začínajú týmito písmenami.

Zadanie názvu stĺpca   Zadajte zátvorku a potom vyberte stĺpec zo zoznamu stĺpcov v aktuálnej tabuľke. Ak ide o stĺpec z inej tabuľky, začnite zadávať prvé písmená názvu tabuľky a potom vyberte stĺpec z rozbaľovacieho zoznamu Automatické dokončovanie.

Ďalšie informácie a návod na vytváranie vzorcov nájdete v téme Vytvorenie vzorcov pre výpočty v doplnku Power Pivot.

Tipy na používanie funkcie Automatické dopĺňanie

Funkciu Automatické dokončovanie vzorca môžete použiť v strede existujúceho vzorca s vnorenými funkciami. Text bezprostredne pred kurzorom sa používa na zobrazenie hodnôt v rozbaľovacom zozname a celý text za kurzorom zostane nezmenený.

Definované názvy, ktoré vytvoríte pre konštanty, sa nezobrazujú v rozbaľovacom zozname automatického dokončovania, ale stále ich môžete zadať.

Power Pivot nepridáva koncovú zátvorku funkcií alebo automaticky ladí zátvorky. Mali by ste sa uistiť, že každá funkcia je syntakticky správna alebo nie je možné uložiť alebo použiť vzorec. 

Používanie viacerých funkcií vo vzorci

Môžete vnoriť funkcie, čo znamená, že výsledky z jednej funkcie sa používajú ako argument inej funkcie. V vypočítavaných stĺpcoch môžete vnoriť až 64 úrovní funkcií. Vnorenie však môže sťažiť vytváranie alebo riešenie problémov so vzorcami.

Mnohé funkcie jazyka DAX sú navrhnuté tak, aby sa používali iba ako vnorené funkcie. Tieto funkcie vracajú tabuľku, ktorú nie je možné priamo uložiť ako výsledok. mal by byť poskytnutý ako vstup na funkciu tabuľky. Napríklad funkcie SUMX, AVERAGEX a MINX všetky vyžadujú tabuľku ako prvý argument.

Poznámka: Niektoré obmedzenia vnorenia funkcií existujú v rámci opatrení, aby sa zabezpečilo, že výkonnosť nie je ovplyvnená množstvom výpočtov vyžadovaných závislosťami medzi stĺpcami.

Porovnanie funkcií jazyka DAX a funkcií Excelu

Knižnica funkcií DAX je založená na knižnici funkcií Excelu, ale knižnice majú veľa rozdielov. V tejto časti sú zhrnuté rozdiely a podobnosti medzi funkciami Excelu a funkciami jazyka DAX.

  • Mnohé funkcie jazyka DAX majú rovnaký názov a rovnaké všeobecné správanie ako funkcie programu Excel, ale boli upravené tak, aby používali rôzne typy vstupov a v niektorých prípadoch mohli vrátiť iný typ údajov. Vo všeobecnosti nie je možné používať funkcie DAX vo vzorci programu Excel alebo použiť excelové vzorce v Power Pivot bez nejakej modifikácie.

  • Funkcie DAX nikdy neodkazujú na odkaz na bunku alebo rozsah ako odkaz, ale namiesto toho funkcie DAX zaberajú stĺpec alebo tabuľku ako referenciu.

  • Funkcie dátumu a času jazyka DAX vracajú typ údajov DateTime. Funkcie dátumu a času Excelu však naopak vracajú celé číslo, ktoré predstavuje dátum ako poradové číslo.

  • Mnohé nové funkcie DAX buď vracajú tabuľku hodnôt alebo vykonajú výpočty na základe tabuľky hodnôt ako vstup. V programe Excel sa naopak nenachádzajú žiadne funkcie, ktoré vracajú tabuľku, ale niektoré funkcie dokážu pracovať s poľami. Možnosť jednoducho odkazovať na všetky tabuľky a stĺpce je novou funkciou v Power Pivot.

  • DAX poskytuje nové vyhľadávacie funkcie, ktoré sú podobné funkciám vyhľadávania poľa a vektora v Exceli. Funkcie DAX však vyžadujú, aby sa medzi tabuľkami vytvoril vzťah.

  • Očakáva sa, že údaje v stĺpci majú vždy rovnaký typ údajov. Ak údaje nie sú rovnakého typu, DAX zmení celý stĺpec na typ údajov, ktorý najlepšie vyhovuje všetkým hodnotám.

Typy údajov DAX

Údaje môžete importovať do modelu Power Pivot údajov z mnohých rôznych zdrojov údajov, ktoré môžu podporovať rôzne typy údajov. Keď importujete alebo načítate údaje a potom použijete údaje vo výpočtoch alebo v kontingenčných tabuľkách, údaje sa skonvertujú na niektorý z Power Pivot typov údajov. Zoznam typov údajov nájdete v téme typy údajov v modeloch údajov.

Typ údajov tabuľky je nový typ údajov v jazyku DAX, ktorý sa používa ako vstup alebo výstup na mnoho nových funkcií. Funkcia FILTER napríklad zaberie tabuľku ako vstup a výstupy v inej tabuľke, ktorá obsahuje len tie riadky, ktoré spĺňajú podmienky filtra. Skombinovaním funkcií tabuľky s funkciami agregácie môžete vykonávať komplexné výpočty na dynamicky definovaných množinách údajov. Ďalšie informácie nájdete v téme agregácie v doplnku Power Pivot.

Vzorce a relačný model

Okno Power Pivot je oblasť, kde môžete pracovať s viacerými tabuľkami údajov a prepojiť tabuľky v relačnom modeli. V rámci tohto dátového modelu sú tabuľky vzájomne prepojené vzťahmi, ktoré umožňujú vytvárať korelácie s stĺpcami v iných tabuľkách a vytvárať ďalšie zaujímavé výpočty. Môžete napríklad vytvoriť vzorce, ktoré spočítajú hodnoty pre súvisiacu tabuľku a potom túto hodnotu Uložiť do jednej bunky. Ak chcete ovládať riadky zo súvisiacej tabuľky, môžete použiť filtre na tabuľky a stĺpce. Ďalšie informácie nájdete v téme vzťahy medzi tabuľkami v dátovom modeli.

Keďže tabuľky môžete prepojiť pomocou vzťahov, kontingenčné tabuľky môžu obsahovať aj údaje z viacerých stĺpcov, ktoré sú z rôznych tabuliek.

Keďže vzorce však môžu pracovať s celou tabuľkou a stĺpcami, je potrebné navrhnúť výpočty inak ako v Exceli.

  • Vo všeobecnosti sa vzorec DAX v stĺpci vždy použije na celú množinu hodnôt v stĺpci (nikdy len do niekoľkých riadkov alebo buniek).

  • Tabuľky v Power Pivot musia mať vždy rovnaký počet stĺpcov v každom riadku a všetky riadky v stĺpci musia obsahovať rovnaký typ údajov.

  • Keď sú tabuľky prepojené vzťahom, očakáva sa, že dva stĺpce, ktoré sa používajú ako klávesy, majú hodnoty, ktoré sa zhodujú, a to z väčšej časti. Keďže Power Pivot neuplatňuje referenčnú integritu, je možné, že v stĺpci kľúča nie sú zhodné hodnoty a stále sa vytvorí vzťah. Prítomnosť prázdnych alebo nezhodných hodnôt však môže ovplyvniť výsledky vzorcov a vzhľad kontingenčných tabuliek. Ďalšie informácie nájdete v téme vyhľadávania vo vzorcoch doplnku Power Pivot.

  • Keď prepojíte tabuľky pomocou vzťahov, zväčšíte rozsah alebo context , v ktorom sa vyhodnotia vzorce. Vzorce v kontingenčnej tabuľke môžu byť napríklad ovplyvnené akýmikoľvek filtrami alebo záhlaviami stĺpcov a riadkov v kontingenčnej tabuľke. Môžete písať vzorce, ktoré manipulujú s kontextom, ale kontext môže tiež spôsobiť, že výsledky sa zmenia tak, ako by ste nepredvídali. Ďalšie informácie nájdete v téme kontext vo vzorcoch Dax.

Aktualizácia výsledkov vzorcov

Údaje r efresh a prepočítanie sú dve samostatné, ale súvisiace operácie, ktoré by ste mali pochopiť pri navrhovaní údajového modelu, ktorý obsahuje zložité vzorce, veľké množstvo údajov alebo údaje získané z externých zdrojov údajov.

Obnovením údajov je proces aktualizácie údajov v zošite s novými údajmi z externého zdroja údajov. Údaje môžete obnoviť manuálne v určených intervaloch. Ak ste zošit publikovali na lokalite SharePoint, môžete naplánovať automatické obnovenie z externých zdrojov.

Prepočítanie je proces aktualizácie výsledkov vzorcov tak, aby odrážal všetky zmeny samotných vzorcov a aby odrážal tieto zmeny v podkladových údajoch. Prepočet môže ovplyvniť výkon nasledujúcimi spôsobmi:

  • Pre vypočítavaný stĺpec by mal byť výsledok vzorca prepočítaný pre celý stĺpec vždy pri zmene vzorca.

  • Pri meraní sa výsledky vzorca nevypočítavajú, kým sa opatrenie neumiestni v kontexte kontingenčnej tabuľky alebo kontingenčného grafu. Vzorec sa prepočíta aj vtedy, keď zmeníte záhlavie riadka alebo stĺpca, ktoré majú vplyv na filtre v údajoch, alebo keď kontingenčnú tabuľku obnovíte manuálne.

Riešenie problémov so vzorcami

Chyby pri písaní vzorcov

Ak sa pri definovaní vzorca zobrazí chyba, vzorec môže obsahovať syntaktickúchybu, sémantickú chybualebo chybu výpočtu.

Syntaktické chyby sú najjednoduchšie na vyriešenie. Zvyčajne obsahujú chýbajúcu zátvorku alebo čiarku. Ak potrebujete pomoc s syntaxou jednotlivých funkcií, prečítajte si tému odkaz na funkciu DAX.

Ďalší typ chyby sa vyskytuje, keď je syntax správna, ale hodnota alebo stĺpec, na ktorý sa odkazuje, nedáva zmysel v kontexte vzorca. Tieto sémantické a výpočtové chyby môžu byť spôsobené niektorým z nasledujúcich problémov:

  • Vzorec odkazuje na iný než existujúci stĺpec, tabuľku alebo funkciu.

  • Zdá sa, že vzorec je správny, ale keď údajový mechanizmus načíta údaje, zistí nezhodu typu a vyvoláva chybu.

  • Vzorec prenesie nesprávny počet alebo typ parametrov na funkciu.

  • Vzorec odkazuje na iný stĺpec, v ktorom sa nachádza chyba, a preto sú jeho hodnoty neplatné.

  • Vzorec odkazuje na stĺpec, ktorý nebol spracovaný, čo znamená, že obsahuje metaúdaje, ale žiadne skutočné údaje, ktoré sa majú použiť na výpočty.

V prvých štyroch prípadoch DAX označí celý stĺpec obsahujúci Neplatný vzorec. V poslednom prípade DAX sivý stĺpec označí, že stĺpec je v stave nespracované.

Nesprávne alebo nezvyčajné výsledky pri zoraďovaní alebo objednávke hodnôt stĺpcov

Pri zoraďovaní alebo objednávke stĺpca, ktorý obsahuje hodnotu NaN (nie číslo), môže dôjsť k nesprávnym alebo neočakávaným výsledkom. Ak napríklad výpočet vydelí hodnotu 0 o 0, vráti sa výsledok NaN.

Je to preto, lebo mechanizmus vzorcov vykonáva poradie a poradie porovnaním číselných hodnôt. NaN však nie je možné porovnávať s inými číslami v stĺpci.

Ak chcete zabezpečiť správne výsledky, môžete použiť podmienené výrazy s použitím funkcie IF na otestovanie hodnôt NaN a vrátiť číselnú hodnotu 0.

Kompatibilita s tabuľkovým modelom služby Analysis Services a režimom DirectQuery

Vo všeobecnosti sú vzorce jazyka DAX, ktoré vytvárate v Power Pivot, úplne kompatibilné s tabuľkovým modelom služby Analysis Services. Ak však migrovate model Power Pivot na inštanciu služby Analysis Services a potom nasadíte model v režime DirectQuery, niektoré obmedzenia sú obmedzené.

  • Niektoré vzorce jazyka DAX môžu vrátiť rôzne výsledky, ak nasadíte model v režime DirectQuery.

  • Niektoré vzorce môžu spôsobiť chyby overenia pri nasadzovaní modelu do režimu DirectQuery, pretože vzorec obsahuje funkciu DAX, ktorá nie je podporovaná v relačnom zdroji údajov.

Ďalšie informácie nájdete v dokumentácii tabuľky služby Analysis Services v aplikácii SQL Server 2012 BooksOnline.

Poznámka:  Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Môžete nám dať vedieť, či boli tieto informácie pre vás užitočné? Tu nájdete anglický článok ako referenciu.

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×