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

Poznámka:  Radi by sme vám čo najrýchlejšie poskytovali najaktuálnejší obsah Pomocníka vo vašom vlastnom jazyku. 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ý. Dali by ste nám v dolnej časti tejto stránky vedieť, či boli pre vás tieto informácie užitočné? Tu nájdete anglický článok pre jednoduchú 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 na princípy DAX vzorcov použitých vo výpočtoch. Už by ste mali byť oboznámení so 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

DAX sa rám okolo tri veľmi dôležité základné pojmy: Syntax, funkcií a kontext. Samozrejme v jazyku DAX existujú iné dôležitých informácií, ale princíp tieto tri koncepty poskytne najlepší základ, na ktorom vytvoriť si zručnosti 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ĺpec 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ĺpec 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, existuje niekoľko vecí, iné o tento vzorec v porovnaní s vzorec sme použili pre vypočítanom stĺpci Margin. Konkrétne sme zavádza funkcia SUM. Vzorce, ktoré vám pomôžu ľahšie na vykonanie zložitých výpočtov a manipulácia s čísel, dátumov, času, textu a vopred ukončení funkcie. Sa dozviete viac o funkciách neskôr.

Na rozdiel od vypočítanom stĺpci Margin predtým, sa zobrazí v stĺpci [SalesAmount] predchádza tabuľky FactSales, do ktorej patrí stĺpec. 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, ktoré sa odkazuje v tej istej tabuľke nevyžadujú názov tabuľky sa zahrnú do vzorca. Môžete to urobiť dlhý vzorce, ktoré odkazujú veľa stĺpcov kratšej a jednoduchšie čítať. 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čítavaný stĺpec

  1. Ak ešte nie ste v okne PowerPivot v Exceli, kliknite na páse s nástrojmi doplnku PowerPivot na okno PowerPivot.

  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.

    Formula bar

    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 a zobrazuje sa 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 [stĺpecReturnQuantity] a 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.

To je! Ste práve vytvorili jednoduchá, ale veľmi účinná vzorec jazyka DAX. Pre každý riadok v tabuľke FactSales NetSales vzorec vypočíta hodnotu odčítaním hodnoty v stĺpci [ReturnQuantity] od hodnoty v stĺpci [položky SalesQuantity]. Všimnite si, ako sme si povedali "pre každý riadok". Toto je pohľad na inom veľmi dôležitý pojem v jazyku DAX; kontext riadka. Sa dozviete viac o kontext riadka neskôr.

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". Je to preto operátor ampersand (&) sa týka 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 pridaním čí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 je založené na typ údajov stĺpcov 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 zadaním vzorca a použitie technológie IntelliSense. Nerobte si starosti príliš veľa, ak úplne nerozumiete 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.

Sa vyskytli len na niekoľko dôležitých aspektov vzorcoch DAX. Najprv si tento vzorec zahrnuté dve funkcie. Všimnite si, ako argument odovzdaný do funkcie CALCULATE vnorené funkcie PREVIOUSQUARTER. Vzorce DAX môže obsahovať najviac 64 vnorených funkcií. Je to pravdepodobne vzorec by nikdy obsahovať toľko vnorených funkcií. V skutočnosti takýto vzorec by bolo veľmi ťažké na vytváranie a ladenie, a to pravdepodobne nebude veľmi rýchlo buď.

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 vzorca DAX môžem vytvoriť? Odpoveď na to dobre, je "vzorec, nie je potrebné". A to je presne to, čo môžete urobiť pomocou funkcie štandardné agregačné opatrenia. Takmer všetky dátového modelu potrebuje na filtrovanie a priebežné 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 kreditu navyše: Vytvorenie mieru vzorca pomocou funkcie Automatický súčet

  1. V tabuľke FactSales prejdite na stĺpec ReturnQuantity a potom kliknite na hlavičku 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

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.

O syntaxi

  1. Čo robí 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.

DAX obsahuje tieto kategórie funkcií: dátum a čas, informácie, logická, matematickej, štatistická, textu a funkcie časovej inteligencie. Ak máte skúsenosti s funkciami vo vzorcoch Excelu, mnohé funkcie v jazyku DAX bude vyzerať. funkcie jazyka DAX sa však jedinečné nasledujúcimi spôsobmi:

  • 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.

  • DAX obsahuje rôzne funkcie časovej inteligencie. Tieto funkcie umožňujú definovať alebo vyberte rozsah dátumov a dynamické výpočty založené na nich. Môžete napríklad porovnať súčtov naprieč paralelnými obdobiami.

Niekedy je ťažké zistiť, ktoré funkcie budete musieť použiť vo vzorci. PowerPivot a návrhár tabuľkového modelu v SQL Server Data Tools, obsahujú funkcie vložiť funkciu, dialógové okno, ktoré umožňuje výber funkcií podľa kategórie a poskytuje stručný popis jednotlivých funkcií.

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. V riadku vzorcov zadajte znamienko rovnosti, =.

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

  4. V dialógovom okne Vloženie funkcie kliknite na položku Zoznam Vyberte kategóriu. Na základe predvoleného nastavenia všetko a všetky funkcie vo všetkých kategórii sú uvedené nižšie. To je veľké množstvo funkcií, takže budete chcieť, aby funkcie na jednoduchšie vyhľadať typ funkcie, ktoré hľadáte filtrovania.

  5. Pre tento vzorec chcete vrátiť niektoré údaje, ktoré už existuje v inej tabuľke. Na to, že budete používať funkciu v kategórii Filter. Pokračujte a kliknite na kategóriu Filter , a potom v Vyberte funkciu, posuňte sa nadol a dvakrát kliknite na položku funkcia RELATED. Kliknite na tlačidlo Ok zatvorte dialógové okno Vloženie funkcie.

  6. Použite funkciu IntelliSense vyhľadávanie a výber stĺpca DimChannel [ChannelName].

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

  8. Po stlačení klávesu Enter dokončite vzorec, slovo počítací sa zobrazí v stavovom riadku v dolnej časti okna PowerPivot. Teraz uvidíte, že ste práve vytvorili nový stĺpec v tabuľke FactSales s informácie o informačnom kanáli z tabuľky DimChannel.

  9. Premenujte stĺpec kanál.

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

Len vyskytli na inú funkciu veľmi dôležitá v jazyku DAX súvisiace funkcie. SÚVISIACA funkcia vráti hodnoty z inej tabuľky. SÚVISIACE môžete použiť za predpokladu, že vzťah medzi tabuľky, v ktorej sa práve nachádzate a tabuľku, ktorá obsahuje hodnoty, ktoré chcete odoslať. Samozrejme, funkcia RELATED má veľké možnosti. V tomto prípade sa teraz môžete zahrnúť predajný kanál pre každý predaj v tabuľke FactSales. Teraz môžete skryť DimChannel tabuľky zo zoznamu polí kontingenčnej tabuľky, čo uľahčuje navigáciu a vidieť len najdôležitejšie informácie, ktoré naozaj potrebujete. Podobne ako funkcia CALCULATE popísané vyššie, funkcia RELATED je veľmi dôležitá a bude pravdepodobne použiť viackrát.

Ako vidíte, funkcie v jazyku DAX môžete vytvoriť veľmi účinná vzorce. Sme naozaj len zaoberal základné informácie o funkciách. Ako zlepšiť svoje zručnosti DAX, ktorý vytvoríte vzorce s množstvom rôznych funkcií. Jednou z najlepšie miesta na ďalšie podrobnosti o všetkých funkcií jazyka DAX je odkaz Data Analysis Expressions (DAX).

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 konceptov DAX porozumieť. Existujú dva typy kontextu v jazyku DAX; 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 filtre, ktoré identifikujú jeden riadok v tabuľke. Funkcia prirodzene použije kontext riadka pre každý riadok tabuľky, ktoré je filtrovanie. Tento typ kontext riadka najčastejšie sa vzťahuje na miery.

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 je tiež možné použiť vo vzorci DAX definovaním filtra pomocou funkcie, ako napríklad všetky, súvisiace, FILTER, CALCULATE vzťahy, a iné miery a stĺpce. Pozrime sa napríklad nasledujúci vzorec s názvom StoreSales opatrenia:

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ť naozaj náročný ďalšie, ale nie sú k dispozícii pre vás množstvo zdrojov. 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 pojmy a vzorce, ktoré vám môžu pomôcť riešenie podnikových problémov. Existuje veľa DAX zdrojov k dispozícii pre vás v PowerPivot Pomocníka, SQL Server Books Online, štúdie a blogy od 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 na začatie. 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. = [Jednotková cena] - [cena jednotky]

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.

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.

×