Rychlý úvod: Naučte se základy jazyka DAX za 30 minut

Poznámka:  Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady .

Tento rychlý úvod je pro uživatele, kteří začínají s doplňkem Power Pivot v Excelu nebo s projekty tabulkových modelů vytvořených nástroji SQL Server Data Tools. Jeho cílem je rychlé a jednoduché představení možností používání jazyka DAX (Data Analysis Expressions) při řešení základních problémů s modelováním dat nebo analytických problémů. Téma zahrnuje koncepční informace, řadu úkolů (které provedete, abyste si vyzkoušeli nové postupy) a několik kvízů k otestování nových vědomostí. Po přečtení tohoto tématu byste měli dobře rozumět těm nejzákladnějším konceptům jazyka DAX.

Co je jazyk DAX?

Jazyk DAX je kolekce funkcí, operátorů a konstant, které lze použít ve vzorci nebo výrazu k výpočtu a vrácení jedné nebo více hodnot. Jednodušeji řečeno, jazyk DAX vám pomůže vytvořit nové informace z dat, která už jsou ve vašem modelu.

Proč je jazyk DAX tak důležitý?

Je snadné vytvořit sešit a importovat do něj nějaká data. Můžete dokonce vytvořit kontingenční tabulky nebo kontingenční grafy, které zobrazí důležité informace, i bez použití vzorců jazyka DAX. Ale co když budete potřebovat analyzovat kritická data o prodejích napříč několika kategoriemi produktů a za různá časová období? Nebo budete potřebovat zkombinovat důležitá data zásob z různých tabulek v různých datových zdrojích? Právě tyto možnosti vám nabízí vzorce jazyka DAX a spolu s tím i řadu dalších důležitých možností. Naučte se vytvářet efektivní vzorce jazyka DAX, abyste získali ze svých dat maximum. Takto získáte potřebné informace, které vám pomohou začít řešit skutečné obchodní problémy, které ovlivňují váš úspěch. Jazyk DAX vám pomůže vybudovat procesy Business Intelligence pro svou organizaci.

Předpoklady

Pravděpodobně již umíte vytvářet a používat vzorce v aplikaci Microsoft Excel. Tyto znalosti zúročíte při pochopení jazyka DAX. Ale i pokud dosud nemáte zkušenosti se vzorci aplikace Excel, pomohou vám zde popsané koncepty začít vytvářet vzorce jazyka DAX a ihned řešit skutečné problémy BI.

Budeme fokus konkrétně na principy vzorců jazyka DAX používá při výpočtech v. Je třeba už znáte Základy počítané sloupce a míry (označovaná taky jako počítaných polí), které jsou popsané v Power Pivot nápovědy. Měli byste být také zkušenosti s Power Pivot v aplikaci Excel autorské prostředí a nástroje.

Ukázkový sešit

Nejlepší způsob, jak se naučíte jazyk DAX, je když vytvoříte několik základních vzorců a použijete je se skutečnými daty. Výsledek pak uvidíte sami. Příklady a úkoly, které uvádíme, používají sešit Contoso Sample DAX Formulas.xlsx. Tento ukázkový sešit si můžete stáhnout z adresy http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Po stažení do počítače otevřete tento sešit a potom otevřete okno Power Pivot.

A jdeme na to!

DAX jsme bude rámeček kolem tři velmi důležité základy: syntaxi funkcí a kontext. Samozřejmě existují jiné důležitých principů v jazyce DAX, ale Principy tyto tři koncepty poskytne nejlepší základ dnem vytvářet své dovednosti DAX.

Syntaxe

Dříve než začnete vytvářet vlastní vzorce, podívejme se na syntaxi vzorce jazyka DAX. Syntaxe zahrnuje různé elementy, které dohromady tvoří vzorec. Nebo jednodušeji: Syntaxe je to, jak je vzorec napsán. Podívejme se například na jednoduchý vzorec jazyka DAX, který vytváří nová data (hodnoty) pro každý řádek v počítaném sloupci s názvem Margin v tabulce FactSales: (barevné zvýraznění textu ve vzorci slouží pouze pro ilustraci).

Vzorec počítaného sloupce

Syntaxe tohoto vzorce obsahuje následující elementy:

  1. Operátor rovná se (=) označuje začátek vzorce a po výpočtu vzorce vrátí výsledek nebo hodnotu. Všechny vzorce vypočítávající hodnotu začínají znakem rovná se.

  2. Odkazovaný sloupec [SalesAmount] obsahuje hodnoty, od kterých chceme odečíst. Odkaz na sloupec je ve vzorci vždy uzavřen v hranatých závorkách []. Na rozdíl od vzorců aplikace Excel, které odkazují na buňku, vzorce jazyka DAX vždy odkazují na sloupec.

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

  4. Odkazovaný sloupec [TotalCost] obsahuje hodnoty, které chceme odečíst od hodnot ve sloupci [SalesAmount].

Když se snažíme porozumět, jak číst vzorce jazyka DAX, pomůže nám přeložit jednotlivé elementy do jazyka, kterým přemýšlíme a hovoříme každý den. Tento vzorec můžete například číst následujícím způsobem:

v FactSales tabulky všech řádků počítaného sloupce Margin Vypočítej (=) hodnotu tak, že odečteš (-) hodnoty v [ TotalCost ] od hodnot ve sloupci [ SalesAmount ] sloupec.

Podívejme se na další typ vzorce, který se používá v míru:

Vzorec počítaného sloupce

Tento vzorec obsahuje následující elementy syntaxe:

  1. Míra názvem Sum of Sales Amount. Vzorce pro rozměry může obsahovat název míra následované dvojtečkou, následovaný výpočetního vzorce.

  2. Operátor rovná se (=) označuje začátek výpočetního vzorce. Po výpočtu vrátí výsledek.

  3. Funkce SUM sečte všechny čísla ve sloupci [SalesAmount]. Další informace o funkcích se dozvíte později.

  4. Kulaté závorky () uzavírají jeden nebo více argumentů. Všechny funkce požadují alespoň jeden argument. Argument předává hodnotu funkci.

  5. Odkazovaná tabulka FactSales.

  6. Odkazovaný sloupec [SalesAmount] v tabulce FactSales. Díky tomuto argumentu funkce SUM ví, ve kterém sloupci má agregovat součet.

Tento vzorec můžete číst následujícím způsobem:

Pro Míra s názvem Sum of Sales Amount, spočítej (=) součet hodnot v [ SalesAmount ] sloupec FactSales tabulky.

Při vložení do hodnoty přetáhnout zóny seznam polí kontingenční tabulky, tento míra vypočte a vrátí hodnoty definované každou buňku v kontingenční tabulce, například mobilní telefony v USA.

Všimněte si, že se liší o tento vzorec ve srovnání s vzorec použitý pro počítaného sloupce Margin několik věcí. Zejména jsme zavádí funkci SUMA. Funkce jsou předem napsané vzorce, které usnadňují provádění složitějších výpočtů a manipulaci s čísla, kalendářní data, času, textu a další. Se dozvíte víc o funkcích později.

Na rozdíl od počítaného sloupce Margin dříve, uvidíte, že sloupci [SalesAmount] byl předchází tabulky FactSales, ve kterém sloupec patří. Jedná se plně kvalifikovaný název sloupce v tom, že obsahuje název sloupce předchází název tabulky. Sloupce, které odkazují na stejnou tabulku není nutné zadávat název tabulky nezahrnou ve vzorci. To může být dlouhých vzorců, které odkazují na více sloupců kratší a snadněji číst. Je ale vhodné vždy obsahovat název tabulky ve vzorcích míra, i když ve stejné tabulce.

Poznámka: Pokud název tabulky obsahuje mezery, vyhrazená klíčová slova nebo nepovolené znaky, je nutné jej uzavřít v jednoduchých uvozovkách. Názvy tabulky je také nutné uzavřít do uvozovek, jestliže název obsahuje libovolné znaky mimo rámec alfanumerických znaků ANSI, bez ohledu na to, zda národní prostředí podporuje danou znakovou sadu či nikoli.

Je velmi důležité, aby vzorce měly správnou syntaxi. Ve většině případů nesprávná syntaxe vrátí chybu. V ostatních případech může být syntaxe formálně správně, ale vrácené hodnoty nebudou odpovídat vašemu očekávání. Power Pivot (a nástroje SQL Server Data Tools) obsahují funkci IntelliSense. Je to funkce, která pomáhá vybrat správné elementy a vytvořit syntakticky správné vzorce.

Vytvořme nyní jednoduchý vzorec. Tento úkol vám pomůže lépe pochopit syntaxi vzorce i způsob, jakým vám funkce IntelliSense na řádku vzorců bude užitečná.

Úkol: Vytvoření jednoduchého vzorce pro počítaný sloupec

  1. Pokud ještě nejste v okně Power Pivot, klikněte v Excelu na pásu karet Power Pivot na Okno Power Pivot.

  2. V okně Power Pivot klikněte na tabulku (kartu) FactSales.

  3. Posuňte zobrazení na pravý krajní sloupec a v záhlaví sloupce klikněte na možnost Přidat sloupec.

  4. Klikněte do řádku vzorců v horní části okna návrháře modelů.

    Řádek vzorců doplňku PowerPivot

    Kurzor se nyní nachází v řádku vzorců. Řádek vzorců je místem, kam můžete zapsat vzorec pro počítaný sloupec nebo počítané pole.

    Podívejme se nyní na tři tlačítka, která jsou umístěna nalevo od řádku vzorců.

    Formula bar

    Když je kurzor aktivní v řádku vzorců, tato tři tlačítka se také stávají aktivními. Tlačítko X, které je zcela vlevo, slouží jako tlačítko zrušit. Zkuste na něj kliknout. Kurzor už není v řádku vzorců a již se dále nezobrazuje tlačítko zrušit ani tlačítko se značkou zaškrtnutí. Klikněte opět do řádku vzorců. Tlačítko zrušit i tlačítko se značkou zaškrtnutí se znovu objevila. To znamená, že můžete začít zadávat vzorec.

    Tlačítko se značkou zaškrtnutí je tlačítko pro kontrolu vzorce. Nedělá nic, dokud nezadáte vzorec. Vrátíme se k němu o něco později.

    Klikněte na tlačítko Fx . Uvidíte, že se zobrazí dialogové okno Nový; Dialogové okno Vložit funkci. Dialogové okno Vložit funkci je nejjednodušší způsob, jak začít zadávat vzorec DAX. Budeme přidávat funkce do vzorce při vytvoříme míru trochu později, ale prozatím nepotřebujete přidat funkci do vzorce počítaného sloupce. Pojďte dále a zavřete dialogové okno Vložit funkci.

  5. Zadejte do řádku vzorců znak rovná se = a potom zadejte levou závorku [. Objeví se malé okno se všemi sloupci, které jsou v tabulce FactSales. To je funkce IntelliSense v akci.

    Protože počítané sloupce se vždy vytváří v aktivní tabulce, ve které se nacházíte, není nutné zadávat před název sloupce i název tabulky. Posuňte zobrazení dolů a poklikejte na položku [SalesQuantity]. Můžete také posunout zobrazení na název sloupce, který chcete, a stisknout klávesu Tab.

    Kurzor je nyní aktivní napravo od [položky SalesQuantity].

  6. Napište mezeru, zadejte operátor odčítání - (znak minus) a pak napište další mezeru.

  7. Teď zadejte jiné levá hranatá závorka [. Tentokrát vyberte [ReturnQuantity] sloupci a potom stiskněte klávesu Enter.

    Pokud dojde k chybě, pozorně zkontrolujte syntaxi. V případě potřeby proveďte srovnání se vzorcem v počítaném sloupci Margin, který jsme popsali dříve.

    Když po zadání vzorce stisknete klávesu Enter, zobrazí se ve stavovém řádku ve spodní části okna Power Pivot zpráva Probíhá výpočet. Tato akce proběhne velmi rychle a to i tehdy, pokud jste právě provedli výpočet nových hodnot z víc než tří milionů řádků.

  8. Klikněte pravým tlačítkem na záhlaví sloupce a přejmenujte sloupec na NetSales.

Je to! Jste právě vytvořili jednoduchou a zároveň velmi výkonné vzorec jazyka DAX. Pro každý řádek v tabulce FactSales NetSales vzorec vypočítá hodnotu odečtením hodnoty ve sloupci [ReturnQuantity] od hodnot ve sloupci [položky SalesQuantity]. Všimněte si, jak můžeme jednoduše řečeno, "pro každý řádek". Toto je zběžný pohled jiné velmi důležité koncept v jazyce DAX; kontext řádku. Se dozvíte další informace o kontext řádku později.

Něco skutečně důležité pochopit při zadávání operátor do vzorce jazyka DAX je datový typ na argumentů, které používáte. Například kdybyste zadejte následující vzorec = 1 a 2, hodnota bude textovou hodnotu "12". Je to proto operátor ampersand (&) je operátor zřetězení textu. DAX interpretovat tento vzorec číst: výpočet výsledek využitím hodnotu 1 jako text a nastavit hodnotu 2 jako text. Když by bylo potřeba zadejte = 1 + 2, DAX přečte tohoto vzorce: Výpočet výsledku přijímat číselnou hodnotu 1 a přidáním číselnou hodnotu 2. Výsledek je samozřejmě "3", číselné hodnoty. DAX vypočítá výsledné hodnoty v závislosti na operátorů ve vzorci, není založený na typu dat sloupce použité v argumentu. Datové typy v jazyce DAX jsou velmi důležité, ale mimo rozsah tento rychlý Start. Další informace o datových typech a operátorů ve vzorcích jazyka DAX, najdete v článku Přehled jazyka DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) v knihy Online.

Zkusme jiného. Tentokrát vytvoříte míru zadáním vzorce a použití technologie IntelliSense. Nedělejte si starosti, příliš mnoho když není plně pochopit vzorec. Důležité tady je postup vytvoření vzorce pomocí několika prvky společně ve správné syntaxe.

Úkol: Vytvořit vzorec míra

  1. V tabulce FactSales klikněte na libovolnou prázdnou buňku v oblasti výpočtu. To je oblast prázdných buněk pod tabulkou v okně Power Pivot.

Oblast výpočtu doplňku PowerPivot

  1. Do řádku vzorců zadejte název Previous Quarter Sales:.

  2. Zadejte znak rovná se = jako začátek výpočetního vzorce.

  3. Zadejte několik prvních písmen CAL a potom poklikejte na funkci, kterou chcete použít. V tomto vzorci chceme použít funkci CALCULATE.

  4. Zadejte levou závorku ( jako začátek argumentu, který bude předán funkci CALCULATE.

    Všimněte si, že po zadání levé závorky vám funkce IntelliSense ukáže argumenty, které požaduje funkce CALCULATE. O argumentech si povíme více o něco později.

  5. Zadejte několik prvních písmen názvu tabulky FactSales a potom v rozbalovacím seznamu poklikejte na položku FactSales[Prodej].

  6. Chcete-li určit první filtr, zadejte čárku (,), zadejte PRE a poklikejte na funkci PREVIOUSQUARTER.

    Po výběru funkce PREVIOUSQUARTER se objeví levá závorka, která označuje požadavek na další argument. Tentokrát pro funkci PREVIOUSQUARTER.

  7. Zadejte několik prvních písmen Dim a potom poklikejte na možnost tabulce DimDate[Datovýklíč].

  8. Uzavřete oba argumenty, které se předávají funkcím PREVIOUSQUARTER a CALCULATE, zadáním dvou pravých závorek )).

    Vzorec by měl vypadat takto:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klikněte na tlačítko pro kontrolu vzorce v řádku vzorce a proveďte ověření vzorce. Pokud dojde k chybě, zkontrolujte každý element syntaxe.

Jste! Jste právě vytvořili míru pomocí jazyka DAX a ne snadno nějakou v daném okamžiku. Tento vzorec bude k čemu je vypočítat celkové prodeje v předchozím čtvrtletí, podle toho, filtrů použitých v kontingenční tabulce nebo kontingenčním grafu.

Jenom byly vydané na několik důležitých aspektů vzorců jazyka DAX. Tento vzorec poprvé, zahrnuta dvě funkce. Všimněte si, že na funkci PREVIOUSQUARTER vnořené jako argument předán funkci CALCULATE . Vzorce jazyka DAX může obsahovat až 64 vnořených funkcí. Není pravděpodobné, že vzorec by nikdy obsahovat tolik vnořených funkcí. Ve skutečnosti takový vzorec by mohla být velmi špatně vytvoření a ladění a nejspíš by velmi rychle buď.

V daném vzorci jste také použili filtry. Filtry zužují to, co se bude vypočítávat. V tomto případě jste vybrali jeden filtr jako argument, který je vlastně další funkcí. Více informací o filtrech se dozvíte později.

Nakonec jste použili funkci CALCULATE. Jedná se o jednu z nejvýkonnějších funkcí jazyka DAX. Až budete sami vytvářet datové modely a složitější vzorce, budete ji pravděpodobně často používat. Podrobnější výklad k funkci CALCULATE přesahuje rámec našeho rychlého startu, přesto doporučujeme věnovat této funkci zvláštní pozornost při rozvíjení vašich znalostí jazyka DAX.

Poznámka: Obvykle je použití funkcí časového měřítka ve vzorcích jazyka DAX podmíněno určením sloupce jedinečných kalendářních dat pomocí dialogového okna Označit jako tabulku kalendářních dat. V sešitu Contoso DAX Formula Samples.xlsx je v tabulce DimTable vybrán sloupec DateKey jako sloupec jedinečných kalendářních dat.

Kredit navíc

Může být požadujete: "Co je nejjednodušší můžete vytvořit vzorec DAX?" Dobře odpověď, která je "vzorec, který nemusíte". A to je přesně lze provést pomocí standardní agregační funkce v míru. Téměř libovolného datového modelu potřebuje k filtrování a výpočet souhrnných dat. Například funkce SUMA v rozměr Sum of Sales Amount, který jste viděli dříve slouží k sčítání s výsledkem všechna čísla v určitém sloupci. Jazyk DAX obsahuje několik dalších funkcí, které agregovat hodnoty taky. Můžete automaticky vytvořit vzorce pomocí standardní agregace pomocí funkce Automatické shrnutí.

Úkol za kredit navíc: Vytvořte vzorec míra pomocí funkce AutoSum

  1. V tabulce FactSales přejděte na sloupec ReturnQuantity a potom klikněte na záhlaví sloupce vyberte celý sloupec.

  2. Na kartě Domů na pásu karet klikněte ve skupině výpočty klikněte na tlačítko Automatické shrnutí .

Funkce AutoSum v doplňku PowerPivot

Klikněte na šipku dolů u tlačítka automatické shrnutí a pak klikněte na průměr (oznámení standardní agregační funkce můžete použít, příliš).

Hned, se vytvoří nová míra s názvem ReturnQuantity průměr z: následovaný vzorec = AVERAGE([ReturnQuantity]).

Nebylo to snadné? Je samozřejmé, že ne všechny vzorce půjdou vytvořit tak lehce. Nicméně díky funkci AutoSum můžete vytvořit rychlé a snadné vzorce, které používají standardní agregační výpočty.

Nyní byste již měli celkem dobře rozumět syntaxi používané ve vzorcích jazyka DAX. Poznali jste také některé skvělé funkce, jako je IntelliSense nebo AutoSum, které vám pomohou při rychlém, snadném a správném vytváření vzorců. O syntaxích se toho můžete dozvědět mnohem více. Dobrým zdrojem dalších informací je téma Informace o jazyce DAX nebo dokumentace Knihy online pro SQL server.

Rychlý kvíz ohledně Syntaxe

  1. Co dělá toto tlačítko na řádku vzorců?
    Tlačítko Funkce

  2. Čím je vždy obklopen název sloupce ve vzorci jazyka DAX?

  3. Jak by psát vzorec pro následující:
    v DimProduct tabulky pro každý řádek v UnitMargin počítaný sloupec, výpočet hodnoty odečtením hodnoty v Jednotková_cena sloupce z hodnoty v UnitPrice sloupce?

Správné odpovědi naleznete na konci tohoto tématu.

Funkce

Funkce jsou předdefinované vzorce, které provádějí výpočty s použitím konkrétních hodnot, nazývaných argumenty, v určitém pořadí nebo struktuře. Argumenty mohou být další funkce, jiný vzorec, odkazy na sloupce, čísla, text, logické hodnoty (jako TRUE nebo FALSE) nebo konstanty.

Jazyk DAX obsahuje následující kategorie funkcí: datum a čas, informace, logických, matematická, statistické funkce, textu a funkce časového měřítka. Pokud máte zkušenosti s funkcí ve vzorcích v Excelu, spoustu funkce v jazyce DAX bude vypadat. funkce jazyka DAX jsou ale jedinečné následujícími způsoby:

  • Funkce jazyka DAX vždy odkazuje na celý sloupec či tabulku. Chcete-li použít pouze určité hodnoty z tabulky nebo sloupce, můžete do vzorce přidat filtry.

  • Je-li potřeba přizpůsobit výpočty pro jednotlivé řádky, jazyk DAX poskytuje funkce, které umožní použít hodnotu aktuálního řádku nebo související hodnotu jako druh argumentu k provedení výpočtů lišících se kontextem. Více informací o kontextu se dozvíte později.

  • Jazyk DAX obsahuje mnoho funkcí, které vrací tabulku namísto hodnoty. Tato tabulka není zobrazena, ale používá se jako vstup pro další funkce. Můžete například načíst tabulku a potom spočítat, kolik je v ní obsaženo různých hodnot, nebo vypočítat dynamické součty z filtrovaných tabulek a sloupců.

  • Jazyk DAX obsahuje různé funkce časového měřítka. Tyto funkce vám umožní definovat nebo vyberte rozsahů kalendářních dat a dynamické výpočty založené na nich. Součty můžete například porovnají napříč paralelními obdobími.

V některých případech je těžké vědět, které funkce možná budete muset použít ve vzorci. Power Pivot a návrháři tabulkového modelu v SQL Server Data Tools obsahují funkci Vložit funkci, dialogové okno, které vám pomůže vybrat funkce podle kategorie a obsahuje krátký popis jednotlivých funkcí.

Vložit funkci

Pojďme vytvořit nový vzorec s funkcí, kterou vybereme s pomocí okna Vložit funkci:

Úkol: Přidáte funkci do vzorce pomocí Vložit funkci

  1. V tabulce FactSales posuňte zobrazení na pravý krajní sloupec a v záhlaví sloupce, klikněte na Přidat sloupec.

  2. Do řádku vzorců zadejte znak rovná se =.

  3. Klikněte na tlačítko Vložit funkci. Vložit funkci Otevře se dialogové okno Vložit funkci.

  4. V dialogovém okně Vložit funkci klepněte na rozevírací seznam Vybrat kategorii. Ve výchozím nastavení vše a všechny funkce v kategorii všechny jsou vypsané dole. Je to celou řadu funkcí, takže budete chtít filtrovací funkce můžete usnadnit její vyhledání typ funkci, kterou hledáte.

  5. Pro tento vzorec budete chtít vrátit nějaká data, která už existuje v jiné tabulce. K těmto se chystáte používat funkci v kategorii filtrovat. Pokračovat a klikněte na kategorii filtrovat a potom v seznamu Vybrat funkci, přejděte dolů a poklikejte na související funkce. Klikněte na Ok zavřete dialogové okno Vložit funkci.

  6. Použijte funkci IntelliSense a najděte a vyberte sloupec DimChannel [ChannelName].

  7. Zavřete vzorec a stiskněte klávesu Enter.

  8. Po stisknutí klávesy Enter dokončete zadání vzorce, se zobrazí na stavovém řádku v dolní části okna Power Pivot slovo výpočet. Teď uvidíte, že jste vytvořili nový sloupec v tabulce FactSales kanálu informacemi z tabulky DimChannel.

  9. Přejmenujte sloupec Channel.

    Vzorec by měl vypadat takto: =RELATED(DimChannel[ChannelName])

Jenom byly vydané jiné velmi důležité funkce v jazyce DAX související funkce. PŘÍBUZNÁ funkce vrátí hodnoty z jiné tabulky. Můžete související předpokladu, že je relace mezi tabulku, kterou právě probíhá a tabulku obsahující hodnoty, které chcete zobrazit. Funkce RELATED samozřejmě má velmi významně pomoci možnosti. V takovém případě můžete nyní zahrnete prodejní kanál pro každou prodejní v tabulce FactSales. Teď skryjete DimChannel tabulky z podokna Seznam polí kontingenční tabulky a usnadnit navigaci a zobrazit jenom nejdůležitější informace, které opravdu potřebujete. Podobně jako funkce CALCULATE popsané výše funkce RELATED je velmi důležité a budete pravděpodobně používat se opakovaně pokoušeli.

Jak vidíte, funkce v jazyce DAX mohou vám pomůže s vytvářením hodně výkonná vzorce. Jsme skutečně pouze dotyku na základní informace o funkcích. Jak zlepšit DAX dovednosti, budete vytvářet vzorce pomocí mnoho různých funkcí. Nejlepší míst další podrobnosti o všech funkcí jazyka DAX reprodukujte odkaz Data Analysis Expressions (DAX).

Rychlý kvíz ohledně funkcí

  1. Na co vždy funkce odkazuje?

  2. Může vzorec obsahovat více než jednu funkci?

  3. Jakou kategorii funkcí byste použili ke zřetězení dvou textových řetězců do jednoho?

Správné odpovědi naleznete na konci tohoto tématu.

Kontext

Kontext je jednou z nejdůležitějších konceptů DAX pochopit. Existují dva typy kontextu v jazyce DAX; kontext řádku a kontext filtru. Doporučujeme se nejprve podívat na kontext řádku.

Kontext řádku

Kontext řádku lze nejsnáze chápat jako aktuální řádek. Pamatujete si například počítaný sloupec Margin, kterým jste již viděli, když jsme se učili o syntaxi? Vzorec =[SalesAmount] - [TotalCost] vypočítá hodnotu v počítaném sloupci Margin pro každý řádek v tabulce. Hodnoty každého řádku jsou vypočítány z hodnot ve dvou dalších sloupcích na stejném řádku – [SalesAmount] a [TotalCost]. Jazyk DAX může vypočítat hodnoty každého řádku ve sloupci Margin, protože má kontext: Pro každý řádek vezme hodnoty ze sloupce [TotalCost] a odečte je od hodnot ve sloupci [SalesAmount].

Ve vybrané buňce, kterou vidíme níže, je hodnota 49,54 USD v aktuálním řádku vypočítána odečtením hodnoty 51,54 USD ve sloupci [TotalCost] od hodnoty 101,08 USD ve sloupci [SalesAmount].

Kontext řádku v doplňku PowerPivot

Kontext řádku jenom neplatí pro počítané sloupce. Kontext řádku se týká rovněž pokaždé, když vzorec obsahuje funkci, která slouží k použití filtrů k identifikaci jeden řádek v tabulce. Funkce podstatě použije kontext řádku pro každý řádek tabulky, ve které je filtrování. Tento typ kontext řádku nejčastěji platí pro míry.

Kontext filtru

Kontext filtru je o trochu složitější k pochopení než kontext řádku. Kontext filtru lze nejsnáze chápat jako: Jeden nebo více filtrů použitých při výpočtu, který určuje výsledek nebo hodnotu.

Kontext filtru není alternativa kontextu řádku. Používá se společně s kontextem řádku. Například když chcete zúžit výběr hodnot zahrnutých do výpočtu, použijete kontext filtru, který nejen určuje kontext řádku, ale určuje i konkrétní hodnotu (filtr) v daném kontextu řádku.

Kontext filtru je dobře vidět v kontingenčních tabulkách. Pokud například přidáte TotalCost do oblasti hodnot a potom přidáte rok a region do řádku nebo sloupců, definujete kontext filtru, který vybere podmnožinu dat založenou na daném roce nebo regionu.

Proč je kontext filtru k DAX tak důležitý? Vzhledem k tomu, zatímco kontext filtru se dají snadno použít přidáním sloupců a popisky řádků a průřezy v kontingenční tabulce, kontext filtru můžete taky použít ve vzorci jazyka DAX tak, že definování filtrů pomocí funkce třeba vše, související, filtr, VYPOČÍTAT vztahy, a jiné míry a sloupce. Například Podívejme se na následující vzorec v míru s názvem StoreSales:

Vzorec

Tento vzorec je očividně složitější než některé vzorce, které jste viděli dříve. Pro lepší pochopení tohoto vzorce si ho rozložíme, podobně jako jsme to udělali s jinými vzorci.

Tento vzorec obsahuje následující elementy syntaxe:

  1. Míra s názvem StoreSales následované dvojtečkou:.

  2. Operátor rovná se (=) označuje začátek vzorce.

  3. Funkce CALCULATE vyhodnotí výraz jako argument v kontextu upraveném zadanými filtry.

  4. Kulaté závorky () uzavírají jeden nebo více argumentů.

  5. Míra [Prodej] ve stejné tabulce jako výraz. Míra prodejní obsahuje vzorec: = SUM(FactSales[SalesAmount]).

  6. Čárka (,) odděluje jednotlivé filtry.

  7. Odkazovaný sloupec a konkrétní hodnota DimChannel [ChannelName] = "Store" jako filtr.

Tento vzorec bude zajistěte, aby pouze hodnoty prodeje, definované míra Sales jako filtr vypočítané pouze pro řádky ve sloupci DimChannel [ChannelName] s hodnotou "Store" jako filtr.

Jistě si dokážete představit, že možnost definovat kontext filtru v rámci vzorce nabízí široké možnosti uplatnění. Možnost odkazovat pouze na konkrétní hodnotu v související tabulce je jen jedním z takových příkladů. Nedělejte si starosti, pokud kontextu ještě zcela nerozumíte. Až začnete vytvářet své vlastní vzorce, pochopíte kontext lépe. A společně s tím budete lépe rozumět, proč je tak důležitý pro jazyk DAX.

Rychlý kvíz ohledně kontextu

  1. Jaké dva typy kontextu známe?

  2. Co je kontext filtru?

  3. Co je kontext řádku?

Správné odpovědi naleznete na konci tohoto tématu.

Shrnutí

Teď, když máte základní principy nejdůležitějších konceptů v jazyce DAX, můžete začít vytvářet vzorce jazyka DAX pro počítané sloupce a míry si vlastní. DAX skutečně může být trochu záludné další, ale jsou k dispozici mnoho prostředků. Po čtení až Toto téma několikrát a experimentovat s několika vzorce vlastní, další informace o dalších DAX koncepty a vzorců, které vám pomohou s řešením obchodních problémů. K dispozici v Power Pivot nápovědy, SQL Server knihy Online, dokumenty White Paper a blogy společnostmi Microsoft a úvodní profesionály BI jsou mnoho prostředků DAX. DAX Resource Center Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) je skvělé místo, kde začít. Odkaz výrazů DAX (Data Analysis) je také skvělým zdrojem. Ujistěte se, uložte ho ve složce Oblíbené položky.

Popis jazyka DAX v dokumentu white paper BI Tabular Model, který lze stáhnout na adrese http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409, nabízí podrobnější pohled na zde představené koncepty a také na mnoho dalších pokročilých konceptů a vzorců. Tento dokument white paper používá stejný sešit Contoso DAX Sample Formulas.xlsx, který už máte.

Odpovědi na kvízy

Syntaxe:

  1. Otevře funkci Vložit funkci.

  2. Hranaté závorky [].

  3. = [JednotkováCena] - [Jednotková_cena]

Funkce:

  1. Na tabulku a sloupec.

  2. Ano. Vzorec může obsahovat až 64 vnořených funkcí.

  3. Textové funkce.

Kontext:

  1. Kontext řádku a kontext filtru.

  2. Jeden nebo více filtrů ve výpočtu, který určí jednu hodnotu.

  3. Aktuální řádek.

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×