Jazyk DAX (Data Analysis Expressions) v doplnku Power Pivot

Jazyk DAX (Data Analysis Expressions) v doplnku Power Pivot

Dôležité : Tento článok je strojovo preložený, prečítajte si vyhlásenie. Anglickú verziu tohto článku nájdete tu a môžete ju použiť ako referenciu.

Data Analysis Expressions (DAX) znie trochu zastrašujúceho na prvom mieste, ale nenechajte názvom podvodné konanie. So základmi jazyka DAX sú naozaj veľmi jednoduché pochopiť. Prvý čo najskôr - DAX nie je programovací jazyk. DAX je vzorca jazyka. Môžete použiť DAX definovať vlastné výpočty Vypočítavaných stĺpcov a mierok (tiež známe ako vypočítavané polia). Jazyk DAX zahŕňa niektorých funkcií používaných vo vzorcoch Excelu a ďalšie funkcie, ktoré majú pracovať s relačných údajov a vykonať dynamický agregáciu.

Princíp vzorcov jazyka DAX

Vzorce jazyka DAX sú veľmi podobné vzorcom programu Excel. Ak chcete vzorec vytvoriť, zadajte znak rovnosti a za ním názov funkcie alebo výraz a ľubovoľné požadované hodnoty alebo argumenty. Rovnako ako program Excel poskytuje aj jazyk DAX rôzne funkcie, ktoré možno použiť na prácu s reťazcami, na vykonávanie výpočtov pomocou hodnôt dátumu a času alebo na vytváranie podmienených hodnôt.

Vzorce jazyka DAX sa však významne líšia nasledujúcimi spôsobmi:

  • Ak chcete prispôsobiť výpočty pre jednotlivé riadky, jazyk DAX obsahuje funkcie, ktoré umožňujú použiť hodnotu aktuálneho riadka alebo súvisiacu hodnotu na vykonanie výpočtov líšiacich sa kontextom.

  • Jazyk DAX zahŕňa typ funkcie, ktorá ako svoj výsledok vracia tabuľku namiesto jednej hodnoty. Tieto funkcie možno použiť na poskytnutie vstupu pre iné funkcie.

  • Funkcie časovej inteligenciev jazyku DAX umožňujú vytvoriť výpočty pomocou rozsahov dátumov a porovnať výsledky naprieč paralelnými obdobiami.

Používanie vzorcov jazyka DAX

Vzorce možno vytvoriť v PowerPivotc vypočítavanéstĺpce alebo vypočítané fia.

Vypočítavané stĺpce

Vypočítaný stĺpec je stĺpec, ktorý pridáte do existujúcej tabuľky doplnku PowerPivot. Namiesto prilepenia alebo importovania hodnôt do stĺpca vytvoríte vzorec jazyka DAX, ktorý definuje hodnoty stĺpca. Ak zahrniete tabuľku doplnku PowerPivot do kontingenčnej tabuľky (alebo kontingenčného grafu), vypočítavaný stĺpec možno použiť rovnakým spôsobom ako akýkoľvek iný stĺpec údajov.

Vzorce vo vypočítavaných stĺpcoch sú veľmi podobné vzorcom vytváraným v programe Excel. Na rozdiel od programu Excel však nemožno vytvárať odlišné vzorce pre rôzne riadky v tabuľke. Vzorec jazyka DAX sa tak automaticky použije na celý stĺpec.

Ak stĺpec obsahuje vzorec, hodnota sa vypočíta pre každý riadok. Výsledky v stĺpci sa vypočítajú okamžite po vytvorení vzorca. Hodnoty v stĺpci sa prepočítajú len pri aktualizácii príslušných údajov alebo pri použití manuálneho prepočtu.

Môžete vytvoriť vypočítavané stĺpce, ktoré vychádzajú z miery a iných vypočítavaných stĺpcov. Však Nepoužívajte rovnaký názov pre vypočítavaný stĺpec a mierky, pretože to môže viesť k mätúce výsledky. Keď sa odkazuje na stĺpec, je najlepšie použiť odkaz na úplný názov stĺpca, aby sa zabránilo omylom vyvolanie opatrenie.

Ďalšie informácie nájdete v článku Vypočítavané stĺpce v doplnku Power Pivot.

Miery

Miera je vzorec, ktorý je vytvorený špeciálne pre použitie v kontingenčnej tabuľke (alebo kontingenčného grafu), ktoré používa PowerPivot údaje. Opatrenia môžu byť založené na štandardné agregačné funkcie, ako je napríklad počet alebo súčet, alebo môžete definovať vlastné vzorec pomocou jazyka DAX. Miera sa používa v oblasti hodnôt kontingenčnej tabuľky. Ak chcete umiestniť vypočítavané výsledky v inej oblasti kontingenčnej tabuľky, použite vo vypočítanom stĺpci.

Pri definovaní vzorec explicitné miery, sa nič nestane, kým nepridáte mieru do kontingenčnej tabuľky. Pri pridávaní opatrenie vzorec vyhodnotí pre každú bunku v oblasti hodnôt v kontingenčnej tabuľke. Pretože výsledok sa vytvorí pre každú kombináciu hlavičiek riadkov a stĺpcov, výsledok miery môže byť rôzne v každej bunke.

Definíciu opatrenia, ktoré vytvoríte sa uloží s jeho zdrojovej tabuľky údajov. 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

PowerPivot, rovnako ako Excel,  poskytuje riadok vzorcov na jednoduchšie vytváranie a úpravu vzorcov, zatiaľ čo funkcia automatického dokončovania minimalizuje výskyt preklepov a syntaktických chýb.

Zadanie názvu tabuľky   Začnite písať názov tabuľky. Funkcia automatického dokončovania vzorcov poskytne rozbaľovací zoznam obsahujúci platné názvy začínajúce danými písmenami.

Zadanie názvu stĺpca   Zadajte zátvorku a potom zo zoznamu stĺpcov v aktuálnej tabuľke vyberte stĺpec. V prípade stĺpca z inej tabuľky začnite písať prvé písmená názvu tabuľky a potom vyberte stĺpec z rozbaľovacieho zoznamu funkcie automatického dokončovania.

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

Tipy na používanie funkcie automatického dokončovania

Funkciu automatického dokončovania vzorcov možno použiť uprostred existujúceho vzorca s vnorenými funkciami. Text nachádzajúci sa bezprostredne pred miestom zadávania sa používa na zobrazenie hodnôt v rozbaľovacom zozname a všetok text nasledujúci za miestom zadávania zostane nezmenený.

Definované názvy vytvorené pre konštanty sa nezobrazujú v rozbaľovacom zozname funkcie automatického dokončovania, no môžete ich napísať manuálne.

PowerPivot nepridáva pravé okrúhle zátvorky funkcií ani ich automaticky nepáruje. Mali by ste skontrolovať, či je každá funkcia zapísaná syntakticky správne, inak vzorec nemožno uložiť ani použiť. 

Použitie viacerých funkcií vo vzorci

Funkcie možno vnoriť, čo znamená, že výsledky z jednej funkcie možno použiť ako argument inej funkcie. Vo vypočítavaných stĺpcoch možno vnoriť až 64 úrovní funkcií. Vnorenie však môže sťažiť vytvorenie vzorcov alebo riešenie problémov so vzorcami.

Mnohé funkcie jazyka DAX sú navrhnuté tak, aby sa používali výhradne ako vnorené funkcie. Tieto funkcie vracajú tabuľku, ktorú nemožno priamo uložiť ako výsledok – musia byť zadané ako vstup pre funkciu na prácu s tabuľkou. Napríklad funkcie SUMX, AVERAGEX a MINX vyžadujú tabuľku ako prvý argument.

Poznámka : Existujú pre Vnorenie funkcií určité obmedzenia v rámci opatrenia, s cieľom zabezpečiť, aby výkon nie je ovplyvnený mnohými výpočtami požadovanými závislosťami medzi stĺpcami.

Porovnanie funkcií jazyka DAX a funkcií programu Excel

Knižnica funkcií jazyka DAX je založená na knižnici funkcií programu Excel, no v mnohých oblastiach sa líši. Táto časť obsahuje súhrn rozdielov a podobností medzi funkciami programu Excel a funkciami jazyka DAX.

  • Mnohé funkcie jazyka DAX majú rovnaký názov a všeobecné správanie ako funkcie Excelu, no boli upravené tak, aby mohli spracúvať iné typy vstupných údajov, a v niektorých prípadoch môžu vracať iné typy údajov. Zvyčajne nie je možné bez určitých úprav používať funkcie jazyka DAX v excelovom vzorci alebo používať excelové vzorce v doplnku PowerPivot.

  • Funkcie jazyka DAX nikdy neodkazujú na bunku ani rozsah, ale odkazujú na stĺpec alebo tabuľku.

  • Funkcie dátumu a času jazyka DAX vracajú typ údajov datetime. Naopak, funkcie dátumu a času programu Excel vracajú celé číslo, ktoré predstavuje dátum ako poradové číslo.

  • Mnoho nových funkcií jazyka DAX vracia tabuľku hodnôt alebo tabuľku hodnôt používa ako vstup pre výpočet. Excel neobsahuje žiadne funkcie, ktoré vracajú tabuľku, niektoré funkcie však pracujú s poľami. Možnosť jednoducho odkazovať na celé tabuľky a stĺpce je novou funkciou doplnku PowerPivot.

  • Jazyk DAX poskytuje nové funkcie vyhľadávania, ktoré sú podobné funkciám vyhľadávania polí a vektorov programu Excel. Funkcie jazyka DAX však vyžadujú, aby bol medzi tabuľkami vytvorený vzťah.

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

Typy údajov jazyka DAX

Údaje možno do údajového modelu doplnku PowerPivot importovať z mnohých rozličných zdrojov údajov, ktoré môžu podporovať rôzne typy údajov. Ak údaje naimportujete alebo načítate a potom ich použijete vo výpočtoch alebo v  kontingenčných tabuľkách, skonvertujú sa na jeden z typov údajov doplnku PowerPivot. Zoznam typov údajov nájdete v článku Typy údajov v modeloch údajov.

Tabuľka je nový typ údajov v jazyku DAX, ktorý sa používa ako vstup alebo výstup mnohých nových funkcií. Funkcia FILTER napríklad používa ako vstupné údaje tabuľku, pričom jej výstupom je iná tabuľka, ktorá obsahuje len riadky vyhovujúce podmienkam filtra. Skombinovaním tabuľkových a agregačných funkcií možno vykonávať zložité výpočty pri použití dynamicky definovaných množín údajov. Ďalšie informácie nájdete v článku Agregácie v doplnku Power Pivot.

Vzorce a relačný model

Okno PowerPivot je oblasť, kde môžete pracovať s viacerými tabuľkami údajov a pripojenie tabuľky v relačný model. V rámci tohto dátového modelu tabuľky pripojení k sebe vzťahy, ktoré umožňujú vytvoriť korelácie so stĺpcami v iných tabuľkách a zaujímavejšie výpočty. Môžete napríklad vytvoriť vzorce súčet hodnôt na súvisiaca tabuľka a potom uložte danej hodnoty v jednej bunke. Alebo ak chcete ovládať riadkov zo súvisiacej tabuľky, môžete použiť filtre do tabuliek a stĺpcov. Ďalšie informácie nájdete v téme vzťahy medzi tabuľkami v dátovom modeli.

Keďže tabuľky možno prepojiť pomocou vzťahov, kontingenčné tabuľky môžu zahŕňať údaje z viacerých stĺpcov, ktoré pochádzajú z rôznych tabuliek.

Keďže však vzorce môžu pracovať s celými tabuľkami a stĺpcami, výpočty je potrebné navrhnúť inak než v programe Excel.

  • Vo všeobecnosti platí, že vzorec jazyka DAX v stĺpci sa vždy použije na celú množinu hodnôt v stĺpci (nikdy nie len na niekoľko riadkov alebo buniek).

  • Tabuľky v doplnku PowerPivot musia mať vždy rovnaký počet stĺpcov pre každý riadok a všetky riadky v stĺpci musia obsahovať rovnaký typ údajov.

  • Ak sú tabuľky prepojené vzťahom, mali by obidva stĺpce použité ako kľúče obsahovať prevažne hodnoty, ktoré sa zhodujú. Keďže doplnok PowerPivot nevynucuje referenčnú integritu, vzťah možno vytvoriť aj v prípade, ak sú v kľúčovom stĺpci uvedené hodnoty, ktoré sa nezhodujú. Ak však existujú prázdne hodnoty alebo hodnoty, ktoré sa nezhodujú, môže to ovplyvniť výsledky vzorcov a vzhľad kontingenčných tabuliek. Ďalšie informácie nájdete v článku Vyhľadávania vo vzorcoch doplnku Power Pivot.

  • Keď prepojíte tabuliek pomocou vzťahov, môžete zväčšiť rozsah alebo context , v ktorom sa vyhodnocujú vzorce. Vzorce v kontingenčnej tabuľke môže byť napríklad ovplyvnené všetky filtre alebo záhlavia stĺpcov a riadkov v kontingenčnej tabuľke. Môžete napísať vzorce, ktoré manipulovať kontext, ale kontexte môže spôsobiť aj výsledky, ak chcete zmeniť spôsobmi, ktoré môžu predbiehať. Ďalšie informácie nájdete v téme kontext vo vzorcoch DAX.

Aktualizovanie výsledkov vzorcov

Údaje r viť a prepočítavanie sú dve samostatné, ale operácií, ktoré by ste mali pochopiť pri navrhovaní dátového modelu, ktorý obsahuje zložitých vzorcov, veľkého množstva údajov alebo údajov, ktoré získava z externých zdrojov údajov.

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

Prepočítanie je proces aktualizácie výsledkov vzorcov, ktorý odráža všetky zmeny v samotných vzorcoch aj zmeny v príslušných údajoch. Prepočítanie môže mať vplyv na výkon nasledujúcimi spôsobmi:

  • Pre vypočítavaný stĺpec sa musí pri každej zmene vzorca prepočítať výsledok vzorca pre celý stĺpec.

  • Miery, výsledok vzorca nie sú vypočítané, kým opatrenie je umiestnený v rámci kontingenčnej tabuľky alebo kontingenčného grafu. Vzorec sa tiež prepočítal, keď zmeníte akékoľvek záhlavie riadka alebo stĺpca, ovplyvňuje filtre na údaje, alebo ak ste manuálne obnovenie kontingenčnej tabuľky.

Riešenie problémov so vzorcami

Chyby pri zadávaní vzorcov

Ak sa pri vytváraní vzorca zobrazí chyba, vzorec možno obsahuje syntaktickú chybu, sémantickú chybu alebo chybu výpočtu.

Syntaktické chyby sa dajú vyriešiť najľahšie. Zvyčajne sú spôsobené chýbajúcou zátvorkou alebo čiarkou. Ak potrebujete pomoc so syntaxou konkrétnych funkcií, pozrite si prehľad funkcií jazyka DAX.

Iný typ chyby sa vyskytuje, keď je syntax správna, ale hodnota, na ktorú stĺpec odkazuje, nemá v kontexte vzorca zmysel. Takéto sémantické chyby a chyby výpočtu môžu byť spôsobené niektorým z nasledujúcich problémov:

  • Vzorec odkazuje na stĺpec, tabuľku alebo funkciu, ktoré neexistujú.

  • Vzorec vyzerá správny, ale keď údajový stroj načíta údaje, zistí nesúlad typov a zobrazí chybu.

  • Vzorec poskytne funkcii nesprávny počet alebo nesprávny typ parametrov.

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

  • Vzorec odkazuje na stĺpec, ktorý nebol spracovaný. To znamená, že tento stĺpec obsahuje metaúdaje, ale neobsahuje žiadne skutočné údaje, ktoré by boli použiteľné na výpočty.

V prvých štyroch prípadoch jazyk DAX označí príznakom celý stĺpec, ktorý obsahuje neplatný vzorec. V poslednom prípade jazyk DAX označí stĺpec ako neaktívny (sivý), čo znamená, že stĺpec je v nespracovanom stave.

Nesprávne alebo neobvyklé výsledky pri vytvorení poradia alebo usporiadaní hodnôt stĺpca

Pri vytvorení poradia hodnôt alebo usporiadaní stĺpca, ktorý obsahuje hodnotu NaN (nie je číslo), môžete získať nesprávne alebo neočakávané výsledky. Ak sa napríklad pri výpočte delí nula nulou, vráti sa výsledok NaN.

Je to tak preto, že mechanizmus vzorca vytvára poradie údajov a usporiadava ich porovnávaním numerických hodnôt, avšak hodnota NaN sa nedá porovnať s inými číslami v stĺpci.

Správne výsledky získate pomocou podmienených príkazov s funkciou IF, ktorá vykoná test hodnôt NaN a vráti numerickú hodnotu 0.

Kompatibilita s tabuľkovými modelmi služby Analysis Services a režimom DirectQuery

Vzorce jazyka DAX vytvorené v doplnku PowerPivot sú vo všeobecnosti úplne kompatibilné s tabuľkovými modelmi služby Analysis Services. Ak však vykonáte migráciu modelu doplnku PowerPivot do inštancie služby Analysis Services a potom tento model nasadíte v režime DirectQuery, prejavia sa určité obmedzenia.

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

  • Pri nasadení modelu v režime DirectQuery môžu niektoré vzorce spôsobiť chyby overenia, pretože vzorec obsahuje funkciu jazyka DAX, ktorá nie je podporovaná v relačnom zdroji údajov.

Ďalšie informácie nájdete v dokumentácii k modelovaniu tabuliek v službe Analysis Services v dokumentácii SQL Server 2012 Books Online.

Poznámka : Vyhlásenie týkajúce sa strojového prekladu: Tento článok bol preložený počítačovým systémom bez zásahu človeka. Poskytovaním týchto strojových prekladov umožňuje spoločnosť Microsoft aj používateľom, ktorí nehovoria po anglicky, využívať obsah o produktoch, službách a technológiách spoločnosti Microsoft. Článok bol preložený strojovo, môže preto obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky.

Rozšírte svoje zručnosti
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.

×