QuickStart: Oboznámenie sa so základmi jazyka DAX za 30 minút

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.

Tieto rýchle pokyny sú určené pre nových používateľov doplnku PowerPivot v Exceli alebo projektov s tabuľkovými modelmi vytvorených pomocou nástrojov SQL Server Data Tools. Sú určené na to, aby vám rýchlo a jednoducho poskytli úvodné informácie o tom, ako môžete pomocou jazyka DAX (Data Analysis Expressions) riešiť celú škálu problémov so základným modelovaním údajov a ich analýzou. Táto téma zahŕňa informácie o základných pojmoch, úlohy, ktoré môžete vykonávať, a niekoľko kvízov na otestovanie osvojených poznatkov. Po dokončení tejto témy by ste mali dobre rozumieť väčšine základných pojmov v jazyku DAX.

Čo je to DAX?

DAX je kolekcia funkcií, operátorov a konštánt, ktoré možno použiť vo vzorci alebo výraze s cieľom vypočítať alebo vrátiť aspoň jednu hodnotu. Jednoduchšie povedané, jazyk DAX pomáha vytvoriť nové informácie z údajov, ktoré sa už nachádzajú v modeli.

Prečo je DAX taký dôležitý?

Je jednoduché vytvoriť zošit a importovať do neho nejaké údaje. Môžete dokonca vytvoriť kontingenčné tabuľky alebo kontingenčné grafy, ktoré zobrazujú dôležité informácie, a to bez použitia vzorcov DAX. Čo však v prípade, že potrebujete analyzovať kľúčové údaje o predaji z viacerých kategórií produktov a pre rôzne rozsahy dátumov? Alebo potrebujete kombinovať dôležité informácie o zásobách z rôznych tabuliek v rôznych zdrojoch údajov? Vzorce DAX vám poskytujú túto možnosť, ako aj množstvo ďalších dôležitých možností. Ak sa naučíte vytvárať účinné vzorce DAX, pomôže vám to vyťažiť maximum z vašich údajov. Po získaní potrebných informácií môžete začať riešiť reálne obchodné problémy, ktoré ovplyvňujú vaše zisky. Sú to analytické nástroje a jazyk DAX vám pomôže preniknúť k týmto údajom.

Predpoklady

Možno už ovládate vytváranie vzorcov v programe Microsoft Excel. Tieto poznatky vám budú užitočné, aby ste mohli pochopiť jazyk DAX, ale aj ak nemáte žiadne skúsenosti so vzorcami programu Excel, základné pojmy popísané v tejto téme vám pomôžu okamžite začať s vytváraním vzorcov DAX a s riešením reálnych problémov sveta pomocou analytických nástrojov.

Budeme sa sústrediť špecificky vo vzorcoch DAX princípy použiť vo výpočtoch. Už ste mali byť oboznámení s základné pojmy vypočítavaných stĺpcov a mierok (tiež známe ako vypočítavané polia), ktoré sú popísané v PowerPivot Pomocníka. Tiež by ste mali byť oboznámení s PowerPivot v programe Excel na vytváranie prostredia a nástroje.

Vzorový zošit

Najvhodnejší spôsob, ako si osvojiť jazyk DAX, je vytvoriť niekoľko základných vzorcov, použiť ich so skutočnými údajmi a skontrolovať výsledky. V príkladoch a úlohách v tejto téme sa používa zošit Contoso Sample DAX Formulas.xlsx. Zošit môžete stiahnuť na lokalite http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Po stiahnutí do svojho počítača zošit otvorte a potom otvorte okno PowerPivot.

Začíname

Pri vysvetľovaní, ako funguje jazyk DAX, budeme vychádzať z troch základných pojmov, ktorými sú syntax, funkcie a kontext. Samozrejme, jazyk DAX zahŕňa aj ďalšie dôležité základné pojmy, ale porozumenie týmto trom základným pojmom vám poskytne najúčinnejšie základy, na ktorých môžete postaviť ďalšie rozvíjanie svojich zručností v ovládaní jazyka DAX.

Syntax

Skôr než začnete s vytváraním vlastných vzorcov, pozrime sa na syntax vzorcov jazyka DAX. Syntax zahŕňa rôzne prvky, z ktorých pozostáva vzorec, alebo jednoduchšie povedané, ako je vzorec napísaný. Pozrime sa napríklad na jednoduchý vzorec DAX na vytvorenie nových údajov (hodnôt) pre každý riadok vo vypočítanom stĺpci s názvom Margin v tabuľke FactSales: (farby textu vzorca sú použité len na ilustračné účely)

Vzorec vypočítaného stĺpca

Syntax tohto vzorca zahŕňa nasledujúce prvky:

  1. Znamienko operátora rovnosti (=) označuje začiatok vzorca a po vypočítavaní tento vzorec vráti výsledok alebo hodnotu. Všetky vzorce na výpočet hodnoty začínajú znamienkom rovnosti.

  2. Odkazovaný stĺpec [SalesAmount] obsahuje hodnoty, od ktorých chceme odčítať. Odkaz na stĺpec vo vzorci je vždy ohraničený hranatými zátvorkami []. Na rozdiel od vzorcov programu Excel, ktoré odkazujú na bunku, vzorec DAX vždy odkazuje na stĺpec.

  3. Matematický operátor odčítania (-).

  4. Odkazovaný stĺpec [TotalCost] obsahuje hodnoty, ktoré chceme odčítať od hodnôt v stĺpci [SalesAmount].

Pri pokuse o porozumenie spôsobu čítania vzorca DAX je často užitočné pretlmočiť jednotlivé prvky do jazyka, v ktorom uvažujete a ktorým hovoríte každý deň. Napríklad tento vzorec sa dá čítať takto:

v FactSales tabuľky pre každý riadok vo vypočítanom stĺpci Margin vypočítajte (=) hodnotu, ktorú získate odčítaním (-) hodnoty v [ TotalCost ] stĺpca z hodnôt v [ SalesAmount ] stĺpec.

Poďme sa pozrieť na ďalší typ vzorca, ktorý sa používa na opatrení:

Vzorec vypočítaného stĺpca

Tento vzorec zahŕňa nasledujúce prvky syntaxe:

  1. Názov ukazovateľa súčet z Sales Amount. Vzorce opatrení môžete zahrnúť názov ukazovateľa, za ním dvojbodku, za ním vzorec na výpočet.

  2. Operátor znamienka rovnosti (=) označuje začiatok vzorca výpočtu. Po vypočítavaní vzorec vráti výsledok.

  3. Funkcia SUM sčíta všetky čísla v stĺpci [SalesAmount]. O funkciách si povieme viac neskôr.

  4. Zátvorky () ohraničujú argumenty. Všetky funkcie vyžadujú aspoň jeden argument. Argument zadáva hodnotu do funkcie.

  5. Odkazovaná tabuľka FactSales.

  6. Odkazovaný stĺpec [SalesAmount] v tabuľke FactSales. Vďaka tomuto argumentu funkcia SUM vie, z ktorého stĺpca má vypočítať agregovanú hodnotu SUM.

Tento vzorec sa dá čítať nasledujúcim spôsobom:

Pre miera s názvom súčet z Sales Amount, vypočítajte (=) súčet hodnôt v [ SalesAmount ] stĺpca v FactSales tabuľky.

Keď sa umiestnia do rozbaľovacej hodnoty v zozname polí kontingenčnej tabuľky, toto opatrenie vypočíta a vráti hodnoty definované každú bunku v kontingenčnej tabuľke, napríklad mobilných telefónov v USA.

Všimnite si niektoré rozdiely v porovnaní so vzorcom, ktorý sme použili pre vypočítaný stĺpec Margin. Pridali sme napríklad funkciu SUM. Funkcie sú vopred vytvorené vzorce, ktoré uľahčujú vykonávanie komplexných výpočtov a úkonov s číslami, dátumami, časmi, textom a ďalšími typmi údajov. O funkciách si povieme viac neskôr.

Na rozdiel od vypočítanom stĺpci Margin predtým, sa zobrazí v stĺpci [SalesAmount] predchádza tabuľky FactSales, v ktorých patrí stĺpci. Toto je známe ako úplný názov stĺpca, tým, že obsahuje názov stĺpca, ktorý predchádza názov tabuľky. Stĺpce v tej istej tabuľke nevyžadujú názov tabuľky zahrnúť do vzorca. Môžete to urobiť dlhý vzorce, ktoré odkazujú veľa stĺpcov kratšej a jednoduchšie čítanie. Je však vhodné, aby sa vždy obsahovať názov tabuľky vo vzorcoch mieru, aj keď v tej istej tabuľke.

Poznámka : Ak názov tabuľky obsahuje medzery, vyhradené kľúčové slová alebo nepovolené znaky, musíte názov tabuľky zadať v jednoduchých úvodzovkách. Názvy tabuliek musíte zadať v úvodzovkách aj vtedy, ak názov obsahuje znaky mimo alfanumerického rozsahu ANSI bez ohľadu na to, či vaše miestne nastavenie podporuje príslušnú množinu znakov alebo nie.

Je veľmi dôležité, aby syntax vzorcov bola správna. Vo väčšine prípadov platí, že ak syntax nie je správna, vráti sa syntaktická chyba. V ďalších prípadoch môže byť syntax správna, ale vrátené hodnoty sa môžu líšiť od toho, čo očakávate. PowerPivot (a nástroje SQL Server Data Tools) obsahuje funkciu IntelliSense, ktorá sa používa na vytváranie vzorcov so správnou syntaxou tak, že vám pomáha vyberať správne prvky.

Skúsme vytvoriť jednoduchý vzorec. Táto úloha vám pomôže lepšie porozumieť syntaxi vzorcov a spôsobu, akým vám pri tom môže pomôcť funkcia IntelliSense v riadku vzorcov.

Úloha: Vytvorenie jednoduchého vzorca pre vypočítaný stĺpec

  1. Ak nie ste už v okne PowerPivot v Exceli, na PowerPivot páse s nástrojmi kliknite na položku PowerPivot okno.

  2. V okne PowerPivot kliknite na tabuľku (kartu) FactSales.

  3. Prejdite do stĺpca úplne vpravo a potom v záhlaví stĺpca kliknite na položku Pridať stĺpec.

  4. Kliknite na riadok vzorcov v hornej časti okna návrhára modelov.

    Riadok vzorcov v doplnku PowerPivot

    Kurzor sa zobrazí v riadku vzorcov. Riadok vzorcov je miesto, kde môžete zadať vzorec pre vypočítaný stĺpec alebo vypočítavané pole.

    Pozrime sa na chvíľu na tri tlačidlá naľavo od riadka vzorcov.

    Riadok vzorcov

    Keď je kurzor aktívny v riadku vzorcov, tieto tri tlačidlá sa aktivujú. Tlačidlo X úplne vľavo funguje jednoducho ako tlačidlo zrušenia. Prejdite k nemu a kliknite naň. Kurzor sa prestane zobrazovať v riadku vzorcov a tlačidlo zrušenia a tlačidlo znaku začiarknutia sa prestanú zobrazovať. Pokračujte opätovným kliknutím na riadok vzorcov. Tlačidlo zrušenia a tlačidlo znaku začiarknutia sa znova zobrazia. To znamená, že všetko je pripravené, aby ste mohli začať zadávať vzorec.

    Tlačidlo znaku začiarknutia je tlačidlo na kontrolu vzorca. Nepotrebujete ho, kým nezadáte vzorec. Ešte sa k nemu na chvíľu vrátime.

    Kliknite na tlačidlo Fx . Uvidíte, či sa zobrazí dialógové okno nový; dialógové okno vloženie funkcie. V dialógovom okne Vloženie funkcie je najjednoduchší spôsob, ako začať zadávať vzorec DAX. Pridáme funkcie do vzorca, keď sme vytvorenie miery trochu neskôr, ale teraz nie je potrebné pridať funkcie do vzorca vypočítaného stĺpca. Pokračujte a zavrite dialógové okno vloženie funkcie.

  5. Do riadka vzorcov zadajte znamienko rovnosti = a potom zadajte počiatočnú hranatú zátvorku [. Zobrazí sa malé okno so všetkými stĺpcami z tabuľky FactSales. Môže za to funkcia IntelliSense.

    Keďže vypočítané stĺpce sa vždy vytvárajú v aktívnej tabuľke, v ktorej sa nachádzate, nie je potrebné vkladať názov tabuľky pred názov stĺpca. Pokračujte tak, že prejdete nižšie a dvakrát kliknete na položku [SalesQuantity]. Môžete tiež prejsť k požadovanému názvu stĺpca a potom stlačiť kláves Tab.

    Kurzor je aktívny napravo od [položky SalesQuantity].

  6. Zadajte medzeru, potom zadajte operátor odčítania - (znamienko mínus) a potom zadajte ďalšiu medzeru.

  7. Teraz zadajte iný ľavá hranatá zátvorka [. Teraz vyberte [ReturnQuantity] stĺpec a potom stlačte kláves Enter.

    Ak sa zobrazí chyba, pozorne skontrolujte syntax. V prípade potreby ju porovnajte so vzorcom vo vypočítanom stĺpci Margin, ktorý je popísaný v predchádzajúcej časti.

    Po stlačení klávesu Enter na zadanie vzorca sa zobrazí hlásenie Počíta sa v stavovom riadku v dolnej časti okna PowerPivot. Výpočet prebieha rýchlo aj v prípade, ak ste práve zadali nové hodnoty pre viac ako tri milióny riadkov.

  8. Kliknite pravým tlačidlom myši na záhlavie stĺpca a premenujte stĺpec NetSales.

A je to! Práve ste vytvorili jednoduchý, ale mimoriadne účinný vzorec DAX. Vzorec NetSales tak pre každý riadok v tabuľke FactSales vypočíta hodnotu zodpovedajúcu odpočítaniu hodnoty v stĺpci [ReturnQuantity] od hodnoty v stĺpci [SalesQuantity]. Všimnite si, že používame znenie „pre každý riadok“. Chceli sme tak jemne upozorniť na ďalší mimoriadne užitočný pojem v jazyku DAX, a síce kontext riadka. O kontexte riadka si povieme viac neskôr.

Tip : 

Niečo naozaj dôležité pochopiť pri písaní operátor do vzorca DAX je typ údajov v argumentoch, ktorý chcete použiť. Napríklad, ak ste zadajte nasledujúci vzorec, = 1 a 2, hodnota bude textovou hodnotou "12". Toto je, pretože ampersand (&) operátor zreťazenia textu. DAX interpretuje tento vzorec čítať: výpočet výsledku tým, že hodnota 1 ako text a pridajte hodnotu 2 ako text. Teraz, keď ste boli s typom = 1 + 2, DAX prečíta tento vzorec ako: výpočet výsledku tým, že číselnú hodnotu 1 a pridanie číselnú hodnotu 2. Výsledkom je samozrejme číselnú hodnotu "3". DAX vypočíta výslednej hodnoty v závislosti od operátora vo vzorci, nie na základe typu údajov stĺpce použitý v argumente. Typy údajov v jazyku DAX sa veľmi dôležitá, ale mimo rozsahu tento rýchly štart. Ďalšie informácie o typoch údajov a operátorov vo vzorcoch DAX nájdete v téme jazyka DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) v Books Online.

Vyskúšajme iný. Teraz vytvoríte opatrenie pomocou vzorca a použitie technológie IntelliSense. Nerobte si starosti príliš veľa, Ak nerozumiete úplne vzorec. Dôležité je tu je postup na vytvorenie vzorca pomocou niekoľkých prvkov spolu v správnej syntaxe.

Úloha: Vytvorenie vzorca merania

  1. V tabuľke FactSales kliknite na ľubovoľnú prázdnu bunku v oblasti výpočtu. Ide o oblasť prázdnych buniek priamo pod tabuľkou v okne PowerPivot.

Oblasť výpočtov v doplnku PowerPivot

  1. V riadku vzorcov zadajte názov Predaj v predchádzajúcom štvrťroku:.

  2. Zadaním znamienka rovnosti = začnite zadávať vzorec výpočtu.

  3. Zadajte niekoľko prvých písmen CAL a potom dvakrát kliknite na funkciu, ktorú chcete použiť. V tomto vzorci chcete použiť funkciu CALCULATE.

  4. Zadaním počiatočnej zátvorky ( začnite zadávať argumenty na vloženie do funkcie CALCULATE.

    Všimnite si, že po zadaní počiatočnej zátvorky funkcia IntelliSense zobrazí argumenty požadované funkciou CALCULATE. Informácie o argumentoch získate o chvíľu.

  5. Zadajte niekoľko prvých písmen názvu tabuľky FactSales a potom v rozbaľovacom zozname dvakrát kliknite na položku FactSales[Predaj].

  6. Zadaním čiarky (,) zadajte prvý filter a potom zadajte reťazec PRE a dvakrát kliknite na funkciu PREVIOUSQUARTER.

    Po výbere funkcie PREVIOUSQUARTER sa zobrazí ďalšia počiatočná zátvorka, ktorá naznačuje, že sa požaduje ďalší argument, teraz pre funkciu PREVIOUSQUARTER.

  7. Zadajte niekoľko prvých písmen Dim a potom dvakrát kliknite na položku DimDate[Formátdátumu].

  8. Zatvorte argument odovzdaný do funkcie PREVIOUSQUARTER a do funkcie CALCULATE zadaním dvoch koncových zátvoriek )).

    Vzorec by teraz mal vyzerať takto:

    Predaj za predchádzajúci štvrťrok:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Kliknutím na tlačidlo na kontrolu vzorca v riadku vzorcov overte vzorec. Ak sa zobrazí chyba, overte každý prvok syntaxe.

Ste si to! Ste práve vytvorili opatrenie pomocou jazyka DAX a nie jednoducho po jednom. Čo urobí tento vzorec sa vypočíta celkový predaj za predchádzajúci štvrťrok, v závislosti od filtrov v zostave kontingenčnej tabuľky alebo kontingenčného grafu.

Práve ste upozornili na niekoľko dôležitých aspektov vzorcov DAX. Po prvé, tento vzorec zahŕňal dve funkcie. Všimnite si, že funkcia PREVIOUSQUARTER je vnorená ako argument odovzdaný do funkcie CALCULATE. Vzorce DAX môžu obsahovať až 64 vnorených funkcií. Je nepravdepodobné, aby vzorec obsahoval toľko vnorených funkcií. Takýto vzorec by v skutočnosti bolo veľmi ťažké vytvoriť a odladiť a pravdepodobne by ani tak nebol veľmi rýchly.

V tomto vzorci ste použili aj filtre. Filtre zužujú rozsah, ktorý sa bude vypočítavať. V tomto prípade ste vybrali jeden filter ako argument, ktorý je v skutočnosti ďalšou funkciou. O filtroch si povieme viac neskôr.

Nakoniec ste použili funkciu CALCULATE. Je to jedna z najúčinnejších funkcií v jazyku DAX. Pri vytváraní obsahu modelov údajov a komplexnejších vzorcov budete pravdepodobne často používať túto funkciu. Ďalšie podrobnosti o funkcii CALCULATE presahujú rámec tohto článku, ale pri rozširovaní vašich poznatkov o jazyku DAX by ste tejto funkcii mali venovať špeciálnu pozornosť.

Poznámka : Ak chcete vo vzorcoch DAX používať funkcie časovej inteligencie, zvyčajne musíte zadať jedinečný dátumový stĺpec pomocou dialógového okna Označiť ako tabuľku s dátumom. V zošite Contoso DAX Formula Samples.xlsx je ako jedinečný dátumový stĺpec vybratý stĺpec DateKey v tabuľke DimDate.

Kredit navyše

Môžete sa pýtať: "Čo je najjednoduchšie DAX vzorec môžete vytvoriť?" No, odpoveď na to je "vzorec nie je nutné". A to je presne to, čo môžete urobiť pomocou štandardné agregačné funkcie opatrenie. Takmer všetky dátového modelu potrebuje na filtrovanie a výpočet súhrnných údajov. Napríklad funkciu SUM v zozname meraný súčet z Sales Amount ste videli skôr sa používa na sčítanie všetkých čísel v určitom stĺpci. Jazyk DAX zahŕňa niekoľko funkcií, ktoré súhrnné hodnoty rovnako. Môžete automaticky vytvoriť vzorce pomocou štandardnej agregácie pomocou funkcie Automatický súčet.

Úloha na kreditu navyše: Vytvorenie vzorca mieru pomocou funkcie Automatický súčet

  1. V tabuľke FactSales prejdite na stĺpec ReturnQuantity a potom kliknutím na záhlavie stĺpca vyberte celý stĺpec.

  2. Na karte Domov na páse s nástrojmi v skupine výpočty kliknite na tlačidlo Automatický súčet.

Funkcia automatického súčtu v doplnku PowerPivot

  1. Kliknite na šípku nadol vedľa tlačidla Automatický súčet a potom kliknite na položku Average (oznámenie iné štandardné agregačné funkcie, ktorý môžete použiť, príliš).
    Okamžite, sa vytvorí nové opatrenie s názvom priemerná ReturnQuantity: za ním vzorec = AVERAGE([ReturnQuantity]).

No nebolo to jednoduché? Samozrejme, nie všetky vzorce, ktoré vytvoríte, budú také jednoduché. Pomocou funkcie automatického súčtu však môžete rýchlo a jednoducho vytvárať vzorce pomocou štandardných agregačných výpočtov.

To by vám malo poskytnúť dostatočné znalosti o syntaxi používanej vo vzorcoch DAX. Predstavili sme vám aj niekoľko naozaj skvelých funkcií, ako sú napríklad IntelliSense a Automatický súčet, ktoré vám pomáhajú vytvoriť rýchle, jednoduché a presné vzorce. Samozrejme, existuje toho oveľa viac, čo sa môžete naučiť o syntaxi. Vhodným miestom na získanie ďalších informácií je lokalita DAX Reference alebo lokalita SQL Books Online.

Krátky kvíz o syntaxi

  1. Na čo slúži toto tlačidlo v riadku vzorcov?
    Tlačidlo Funkcia

  2. Čo vždy ohraničuje názov stĺpca vo vzorci DAX?

  3. Ako napísať vzorec pre nasledovné:
    v DimProduct pre každý riadok v tabuľke UnitMargin vypočítaný stĺpec, výpočet hodnoty odpočítaním hodnoty v cena jednotky stĺpca z hodnôt v UnitPrice stĺpec?

Odpovede sú k dispozícii na konci tejto témy.

Funkcie

Funkcie sú preddefinované vzorce, ktoré vykonávajú výpočty s použitím špecifických hodnôt zvaných argumenty v konkrétnom poradí alebo v konkrétnej štruktúre. Argumenty môžu byť iné funkcie, iný vzorec, odkazy na stĺpce, čísla, text, logické hodnoty ako TRUE alebo FALSE, prípadne konštanty.

Jazyk DAX zahŕňa nasledujúce kategórie funkcií: dátumové a časové, informačné, logické, matematické, štatistické a textové funkcie a funkcie časovej inteligencie. Ak sa vyznáte vo funkciách vo vzorcoch programu Excel, mnohé z funkcií v jazyku DAX sa vám budú zdať podobné. Funkcie jazyka DAX sú však jedinečné z nasledujúcich hľadísk:

  • Funkcia jazyka DAX vždy odkazuje na celý stĺpec alebo tabuľku. Ak chcete použiť len určité hodnoty z tabuľky alebo stĺpca, môžete do vzorca pridať filtre.

  • Ak potrebujete prispôsobiť výpočty pre jednotlivé riadky, jazyk DAX poskytuje funkcie, ktoré umožňujú použiť hodnotu aktuálneho riadka alebo súvisiacu hodnotu ako druh argumentu na vykonanie výpočtov líšiacich sa kontextom. O kontexte si povieme viac neskôr.

  • Jazyk DAX zahŕňa mnohé funkcie, ktoré vrátia tabuľku namiesto hodnoty. Tabuľka sa nezobrazuje, ale sa používa na poskytnutie vstupu pre iné funkcie. Môžete napríklad načítať určitú tabuľku a potom v nej spočítať jedinečné hodnoty v nej alebo vypočítavať dynamické súčty filtrovaných tabuliek alebo stĺpcov.

  • Jazyk DAX zahŕňa celú škálu funkcií časovej inteligencie. Tieto funkcie vám umožňujú definovať alebo vyberať rozsahy dátumov a na ich základe vykonávať dynamické výpočty. Môžete napríklad porovnávať súčty za paralelné obdobia.

Niekedy je ťažké zistiť, ktoré funkcie môžu byť vo vzorci potrebné. PowerPivot a návrhár tabuľkových modelov v nástrojoch SQL Server Data Tools obsahujú funkciu Vložiť funkciu, čo je dialógové okno, ktoré vám pomáha vybrať funkcie podľa kategórie, a poskytuje stručné popisy pre každú funkciu.

Vložiť funkciu

Vytvorme nový vzorec zahŕňajúci funkciu, ktorú vyberiete pomocou funkcie Vložiť funkciu:

Úloha: Pridanie funkcie do vzorca pomocou funkcie Vložiť funkciu

  1. V tabuľke FactSales prejdite do stĺpca úplne vpravo a potom v záhlaví stĺpca kliknite na položku Pridať stĺpec.

  2. Do riadka vzorcov zadajte znamienko rovnosti =.

  3. Kliknite na tlačidlo Vložiť funkciu. Vložiť funkciu Otvorí sa dialógové okno Vložiť funkciu.

  4. V dialógovom okne Vložiť funkciu kliknite na pole so zoznamom Vybrať kategóriu. Predvolene je vybratá možnosť Všetky a nižšie sú uvedené všetky funkcie v kategórii Všetky. Je to množstvo funkcií, takže ich budete chcieť filtrovať, aby ste jednoduchšie našli typ funkcie, ktorú hľadáte.

  5. Chcete, aby tento vzorec vrátil určité údaje, ktoré už existujú v inej tabuľke. Preto použijete funkciu v kategórii Filter. Pokračujte a kliknite na kategóriu Filter a potom v poli so zoznamom Vybrať funkciu prejdite k funkcii RELATED a dvakrát na ňu kliknite. Kliknutím na tlačidlo OK zatvorte dialógové okno Vložiť funkciu.

  6. Použite funkciu IntelliSense ako pomôcku na vyhľadanie a výber stĺpca DimChannel[ChannelName].

  7. Zatvorte vzorec a potom stlačte kláves Enter.

  8. Po stlačení klávesu Enter na zadanie vzorca sa zobrazí hlásenie Počíta sa v stavovom riadku v dolnej časti okna PowerPivot. Teraz uvidíte, že ste v tabuľke FactSales práve vytvorili nový stĺpec s informáciami o kanáli z tabuľky DimChannel.

  9. Premenujte stĺpec Kanál.

    Vzorec by mal vyzerať takto: =RELATED(DimChannel[ChannelName])

Práve ste sa oboznámili s ďalšou veľmi dôležitou funkciou v jazyku DAX, a to s funkciou RELATED. Funkcia RELATED vráti hodnoty z inej tabuľky. Funkciu RELATED môžete použiť za predpokladu, že existuje vzťah medzi tabuľkou, ktorú aktuálne používate, a tabuľkou obsahujúcou hodnoty, ktoré chcete načítať. Samozrejme, funkcia RELATED ponúka veľké množstvo možností. V tomto prípade teraz môžete zahrnúť predajný kanál pre všetky predaje v tabuľke FactSales. Teraz môžete skryť tabuľku DimChannel zo zoznamu polí kontingenčnej tabuľky, aby sa uľahčila navigácia a aby sa zobrazovali iba tie najdôležitejšie informácie, ktoré naozaj potrebujete. Podobne ako funkcia CALCULATE popísaná vyššie, aj funkcia RELATED je mimoriadne dôležitá a pravdepodobne ju budete často používať.

Ako môžete vidieť, funkcie v jazyku DAX vám môžu pomôcť vytvoriť mimoriadne účinné vzorce. A to sme sa zaoberali naozaj iba základnými informáciami o funkciách. So zdokonaľovaním v používaní jazyka DAX budete vytvárať vzorce využívajúce množstvo rôznych funkcií. Jedným z najvhodnejších zdrojov informácií, kde môžete získať podrobné informácie o všetkých funkciách jazyka DAX, je článok Informácie o jazyku Data Analysis Expressions (DAX).

Krátky kvíz o funkciách

  1. Na čo funkcia vždy odkazuje?

  2. Môže vzorec obsahovať viac ako jednu funkciu?

  3. Ktorú kategóriu funkcií by ste použili na zreťazenie dvoch textových reťazcov do jedného reťazca?

Odpovede sú k dispozícii na konci tejto témy.

Kontext

Kontext je jedným z najdôležitejších pojmov jazyka DAX na pochopenie. V jazyku DAX existujú dva kontexty: kontext riadka a kontext filtra. Najprv sa pozrieme na kontext riadka.

Kontext riadka

Kontext riadka si možno najjednoduchšie predstaviť ako aktuálny riadok. Pamätáte sa ešte napríklad na vypočítaný stĺpec Margin, ktorý sme predtým použili pri vysvetľovaní syntaxe? Vzorec =[SalesAmount] - [TotalCost] vypočíta hodnotu v stĺpci Margin pre každý riadok v tabuľke. Hodnoty pre každý riadok sa vypočítavajú z hodnôt v ďalších dvoch stĺpcoch [SalesAmount] a [TotalCost] v tom istom riadku. Jazyk DAX dokáže vypočítať hodnoty pre každý riadok v stĺpci Margin, pretože má kontext: pre každý riadok vezme hodnoty v stĺpci [TotalCost] a odčíta ich od hodnôt v stĺpci [SalesAmount].

Vo vybratej bunke nižšie sa hodnota 49,54 EUR v aktuálnom riadku vypočítala odčítaním hodnoty 51,54 EUR v stĺpci [TotalCost] od hodnoty v stĺpci 101,08 EUR v stĺpci [SalesAmount].

Kontext riadka v doplnku PowerPivot

Kontext riadka nevzťahuje len na vypočítané stĺpce. Kontext riadka sa týka aj vždy, keď vzorec obsahuje funkciu, ktorá sa týka filtrov na identifikáciu jeden riadok v tabuľke. Funkcia použije prirodzene kontext riadka pre každý riadok tabuľky, ktoré je filtrovanie. Tento typ kontext riadka najčastejšie sa vzťahuje na opatrenia.

Kontext filtra

Kontext filtra je o niečo zložitejší na porozumenie než kontext riadka. Kontext filtra si môžete najjednoduchšie predstaviť ako filtre použité vo výpočte, ktoré určujú výsledok alebo hodnotu.

Kontext filtra neexistuje namiesto kontextu riadka, skôr sa uplatňuje ako dodatok ku kontextu riadka. Ak napríklad chcete ešte viac zúžiť hodnoty na zahrnutie do výpočtu, môžete použiť kontext filtra, ktorý určuje nielen kontext riadka, ale aj konkrétnu hodnotu (filter) v tomto kontexte riadka.

Kontext filtra je možné jednoducho sledovať v kontingenčných tabuľkách. Napríklad pri pridaní stĺpca TotalCost do oblasti Hodnoty a následnom pridaní kritérií Year a Region do oblasti riadkov alebo stĺpcov definujete kontext filtra, ktorý vyberá podmnožinu údajov na základe daného roka alebo danej oblasti.

Prečo je kontext filtra na DAX taký dôležitý? Pretože počas kontext filtra môžu byť použité najľahšie pridaním stĺpcov a označenia riadkov a rýchle filtre v kontingenčnej tabuľke, kontext filtra môžete použiť aj vo vzorci DAX definovaním filtra pomocou funkcií, ako napríklad všetky, súvisiace, FILTER, vypočítať, vzťahy a ďalších opatrení a stĺpce. Napríklad, Pozrime sa na nasledujúci vzorec opatrenie s názvom StoreSales:

Vzorec

Tento vzorec je jednoznačne zložitejší než niektoré z ďalších stĺpcov, ktoré ste už videli. Na jednoduchšie porozumenie tomuto vzorcu však môžeme tento vzorec rozložiť tak, ako v prípade iných vzorcov.

Tento vzorec zahŕňa nasledujúce prvky syntaxe:

  1. Názov ukazovateľa StoreSales, za ktorým nasleduje dvojbodka:.

  2. Operátor znamienka rovnosti (=) označuje začiatok vzorca.

  3. Funkcia CALCULATE vyhodnocuje výraz ako argument v kontexte, ktorý je upravený zadanými filtrami.

  4. Zátvorky () ohraničujú argumenty.

  5. Miera [Sales] v tej istej tabuľke ako výraz. Predaj – má vzorec: = SUM(FactSales[SalesAmount]).

  6. Čiarka (,) oddeľuje jednotlivé filtre.

  7. Odkazovaný stĺpec a konkrétna hodnota DimChannel[ChannelName] =”Store” ako filter.

V tomto vzorci sa zabezpečí iba predaja hodnoty, definované ukazovateľ predaj ako filter, sa vypočítajú len pre riadky v stĺpci DimChannel [ChannelName] s hodnotou "Store" ako filter.

Ako si iste viete predstaviť, možnosť definovať kontext filtra v rámci vzorca ponúka rozsiahle a účinné možnosti. Možnosť odkazovať len na konkrétnu hodnotu v súvisiacej tabuľke je len jednou z nich. Nemusíte si robiť starosti, ak sa vám okamžite nepodarí v plnom rozsahu pochopiť princíp kontextu. Pri vytváraní vlastných vzorcov sa naučíte lepšie porozumieť kontextu a jeho dôležitosti v jazyku DAX.

Krátky kvíz o kontexte

  1. Ktoré dva typy kontextu poznáte?

  2. Čo je kontext filtra?

  3. Čo je kontext riadka?

Odpovede sú k dispozícii na konci tejto témy.

Súhrn

Teraz, keď máte základné poznatky o najdôležitejších informácií v jazyku DAX, môžete začať vytvárať DAX vzorcov pre vypočítané stĺpce a mier vlastné. DAX môže byť skutočne trochu zložitejšie informácie, ale existuje mnoho zdrojov, ktoré máte k dispozícii. Ak chcete po dočítaní v tejto téme niekoľkokrát a experimentovať s niekoľkými vlastné vzorce, ďalšie informácie o iných DAX koncepty a vzorce, ktoré vám pomôžu riešenie podnikových problémov. Existuje veľa DAX zdrojov k dispozícii pre vás v PowerPivot pomoc, SQL Server Books Online, štúdie a blogy spoločnosti Microsoft a úvodných BI profesionálov. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je skvelým miestom, kde začať. Data Analysis Expressions (DAX) odkaz je tiež skvelým zdrojom. Uistite sa, že ho uložiť v obľúbených položkách.

Štúdia The DAX in the BI Tabular Model, ktorá je k dispozícii na stiahnutie na stránke http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409, poskytuje podrobnejší prehľad pojmov predstavených v tomto článku, ako aj mnohých ďalších pojmov a vzorcov. Táto štúdia tiež používa ten istý zošit Contoso DAX Sample Formulas.xlsx, ktorý ste používali aj vy.

Odpovede na otázky krátkych kvízov

Syntax:

  1. Otvára funkciu Vložiť funkciu.

  2. Hranaté zátvorky [].

  3. =[UnitPrice] - [UnitCost]

Funkcie:

  1. Tabuľka a stĺpec.

  2. Áno. Vzorec môže obsahovať až 64 vnorených funkcií.

  3. Textové funkcie.

Kontext:

  1. Kontext riadka a kontext filtra.

  2. Filtre vo výpočte, ktorý určuje jednu hodnotu.

  3. Aktuálny riadok.

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.

×