Táto časť obsahuje prepojenia na príklady, ktoré ukazujú použitie vzorcov DAX v nasledujúcich scenároch.
-
Vykonávanie zložitých výpočtov
-
Práca s textom a dátumami
-
Podmienené hodnoty a testovanie chýb
-
Používanie časovej inteligencie
-
Poradie a porovnanie hodnôt
Obsah tohto článku
Začíname
Navštívte lokalitu wiki o DAX Resource Center, kde nájdete všetky druhy informácií o balíku DAX vrátane blogov, vzoriek, whitepapers a videí poskytovaných poprednými odborníkmi v odvetví a spoločnosťou Microsoft.
Scenáre: Vykonávanie zložitých výpočtov
Vzorce DAX môžu vykonávať zložité výpočty, ktoré zahŕňajú vlastné agregácie, filtrovanie a používanie podmienených hodnôt. Táto časť obsahuje príklady, ako začať s vlastnými výpočtami.
Vytvorenie vlastných výpočtov pre kontingenčnú tabuľku
FUNKCIE CALCULATE a CALCULATETABLE sú výkonné a flexibilné funkcie, ktoré sú užitočné na definovanie vypočítavaných polí. Tieto funkcie umožňujú zmeniť kontext, v ktorom sa bude vykonávať výpočet. Môžete tiež prispôsobiť typ agregácie alebo matematickej operácie, ktorá sa má vykonať. Príklady nájdete v nasledujúcich témach.
Použitie filtra na vzorec
Vo väčšine miest, kde funkcia DAX používa tabuľku ako argument, môžete zvyčajne prejsť do filtrovanej tabuľky namiesto toho buď pomocou funkcie FILTER namiesto názvu tabuľky, alebo zadaním výrazu filtra ako jedného z argumentov funkcie. Nasledujúce témy obsahujú príklady toho, ako vytvoriť filtre a ako filtre ovplyvňujú výsledky vzorcov. Ďalšie informácie nájdete v téme Filtrovanie údajov vo vzorcoch DAX.
Funkcia FILTER umožňuje zadať kritériá filtra pomocou výrazu, zatiaľ čo ostatné funkcie sú navrhnuté špeciálne na filtrovanie prázdnych hodnôt.
Selektívne odstránenie filtrov na vytvorenie dynamického pomeru
Vytvorením dynamických filtrov vo vzorcoch môžete jednoducho odpovedať na nasledujúce otázky:
-
Aký bol príspevok predaja aktuálneho produktu k celkovému predaju za rok?
-
Aká časť tohto delenia prispela k celkovému zisku za všetky pracovné roky v porovnaní s inými divíziami?
Vzorce, ktoré používate v kontingenčnej tabuľke, môžu byť ovplyvnené kontextom kontingenčnej tabuľky, kontext však môžete selektívne zmeniť pridaním alebo odstránením filtrov. V príklade témy ALL je uvedený postup. Ak chcete nájsť pomer predaja konkrétneho predajcu nad predajom všetkých predajcov, vytvoríte ukazovateľ, ktorý vypočíta hodnotu pre aktuálny kontext vydelenú hodnotou pre kontext ALL.
Téma ALLEXCEPT obsahuje príklad selektívneho vymazania filtrov vo vzorci. Oba príklady vás presajú zmenou výsledkov v závislosti od návrhu kontingenčnej tabuľky.
Ďalšie príklady výpočtu pomerov a percent nájdete v nasledujúcich témach:
Použitie hodnoty z vonkajšieho slučky
Okrem použitia hodnôt z aktuálneho kontextu vo výpočtoch môže daX pri vytváraní množiny súvisiacich výpočtov použiť aj hodnotu z predchádzajúcej slučky. Nasledujúca téma obsahuje návod na vytvorenie vzorca, ktorý odkazuje na hodnotu z vonkajšieho slučky. Funkcia EARLIER podporuje až dve úrovne vnorených slučiek.
Ďalšie informácie o kontexte riadkov a súvisiacich tabuľkách a o používaní tohto konceptu vo vzorcoch nájdete v téme Kontext vo vzorcoch dax.
Scenáre: Práca s textom a dátumami
Táto časť obsahuje prepojenia na referenčné témy pre DAX, ktoré obsahujú príklady bežných scenárov práce s textom, extrahovania a vytvárania hodnôt dátumu a času alebo vytvárania hodnôt na základe podmienky.
Vytvorenie kľúčového stĺpca pomocou reťazenia
Power Pivot nie je povolené zložené kľúče; Ak teda máte v zdroji údajov zložené kľúče, možno ich budete musieť skombinovať do jedného stĺpca kľúča. V nasledujúcej téme je uvedený jeden príklad vytvorenia vypočítaného stĺpca na základe zloženého kľúča.
Compose a date based on date parts extracted from a text date
Power Pivot na prácu s SQL Server používa typ údajov Dátum a čas, Ak teda vaše externé údaje obsahujú dátumy, ktoré sú naformátované odlišne, napríklad ak sú dátumy napísané v regionálnom formáte dátumu, ktorý nerozpoznáva údajový nástroj Power Pivot, alebo ak vaše údaje používajú náhradné celočíselné kľúče, možno bude potrebné použiť vzorec DAX na extrahovanie častí dátumu a ich vyjadrenie do platného vyjadrenia dátumu a času.
Ak máte napríklad stĺpec dátumov, ktoré boli znázornené ako celé číslo a potom importujete ako textový reťazec, môžete reťazec skonvertovať na hodnotu dátumu a času pomocou nasledujúceho vzorca:
=DATE(RIGHT([Hodnota1];4);LEFT([Hodnota1];2);MID([Hodnota1];2))
Hodnota1 |
Výsledok |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Nasledujúce témy poskytujú ďalšie informácie o funkciách používaných na extrahovanie a kladanie dátumov.
Definovanie vlastného formátu dátumu alebo čísla
Ak vaše údaje obsahujú dátumy alebo čísla, ktoré nie sú znázornené v jednom zo štandardných textových formátov Windows, môžete definovať vlastný formát, aby ste zabezpečili správne spracovanie hodnôt. Tieto formáty sa používajú pri konvertovaní hodnôt na reťazce alebo reťazce. V nasledujúcich témach nájdete aj podrobný zoznam preddefinovaných formátov, ktoré sú k dispozícii na prácu s dátumami a číslami.
Zmena typu údajov pomocou vzorca
V Power Pivot určuje typ údajov výstupu zdrojové stĺpce a typ údajov výsledku nie je možné explicitne určiť, pretože optimálny typ údajov určuje Power Pivot. Implicitné konverzie typov údajov vykonané spoločnosťou Power Pivot na manipuláciu s typom výstupných údajov.
-
Ak chcete skonvertovať dátum alebo číselný reťazec na číslo, vynásobte ho číslom 1,0. Nasledujúci vzorec napríklad vypočíta aktuálny dátum mínus 3 dni a potom vystupuje zodpovedajúcu celočíselnú hodnotu.
=(TODAY()-3)*1,0
-
Ak chcete skonvertovať hodnotu dátumu, čísla alebo meny na reťazec, zreťazte hodnotu s prázdnym reťazcom. Nasledujúci vzorec napríklad vráti dnešný dátum ako reťazec.
=""& TODAY()
Na zaistenie vrátenia určitého typu údajov je možné použiť aj nasledujúce funkcie:
Konverzia reálnych čísel na celé čísla
-
Konvertovanie reálnych čísel, celých čísel alebo dátumov na reťazce
-
Konvertovanie reťazcov na reálne čísla alebo dátumy
Scenár: Podmienené hodnoty a testovanie chýb
Podobne Excel funkcia DAX obsahuje funkcie, ktoré umožňujú testovať hodnoty v údajoch a vrátiť inú hodnotu na základe podmienky. Môžete napríklad vytvoriť vypočítavaný stĺpec, ktorý bude v závislosti od ročného objemu predaja označený ako preferovaný predajca alebo hodnota. Funkcie, ktoré testovať hodnoty, sú užitočné aj na kontrolu rozsahu alebo typu hodnôt, aby sa zabránilo chybám neočakávaných údajov v zlomení výpočtov.
Vytvorenie hodnoty na základe podmienky
Vnorené podmienky IF môžete použiť na testovanie hodnôt a podmienené generovanie nových hodnôt. Nasledujúce témy obsahujú niekoľko jednoduchých príkladov podmieneného spracovania a podmienených hodnôt:
Testovanie chýb vo vzorci
Na rozdiel Excel hodnôt nie je možné mať platné hodnoty v jednom riadku vypočítaného stĺpca a neplatné hodnoty v inom riadku. To znamená, že ak sa v ktorejkoľvek časti stĺpca Power Pivot vyskytne chyba, celý stĺpec je označený príznakom chyby, takže vždy je nutné opraviť chyby vo vzorcoch, ktoré majú za následok neplatné hodnoty.
Ak napríklad vytvoríte vzorec, ktorý sa delí nulou, môže sa zobraziť výsledok nekonečna alebo chyba. Niektoré vzorce zlyhajú aj vtedy, ak funkcia pri očakávaní číselnej hodnoty narazí na prázdnu hodnotu. Počas vývoja dátového modelu je najlepšie povoliť, aby sa chyby zobrazili, aby ste mohli kliknúť na hlásenie a vyriešiť problém. Pri publikovaní zošitov by ste však mali začleniť spracovanie chýb, aby sa zabránilo zlyhaniu neočakávaných hodnôt.
Ak sa chcete vyhnúť chybám vo vypočítavaných stĺpcoch, môžete na testovanie chýb a vždy vrátenie platných hodnôt použiť kombináciu logických a informačných funkcií. V nasledujúcich témach nájdete niekoľko jednoduchých príkladov, ako to urobiť v balíku DAX:
Scenáre: Používanie časovej inteligencie
Funkcie časovej inteligencie dax zahŕňajú funkcie, ktoré vám pomôžu načítať dátumy alebo rozsahy dátumov z údajov. Potom môžete tieto dátumy alebo rozsahy dátumov použiť na výpočet hodnôt v podobných obdobiach. Funkcie časovej inteligencie obsahujú aj funkcie, ktoré pracujú so štandardnými intervalmi dátumu, ktoré umožňujú porovnávanie hodnôt za mesiace, roky alebo štvrťroky. Môžete tiež vytvoriť vzorec, ktorý porovnáva hodnoty prvého a posledného dátumu zadaného obdobia.
Zoznam všetkých funkcií časovej inteligencie nájdete v téme Funkcie časovej inteligencie (DAX). Tipy na efektívne používanie dátumov a časov pri Power Pivot nájdete v téme Dátumy v doplnku Power Pivot.
Výpočet kumulatívneho predaja
Nasledujúce témy obsahujú príklady, ako vypočítať záverečný a úvodný zostatok. Pomocou príkladov môžete vytvoriť medzisúostatky v rôznych intervaloch, ako sú napríklad dni, mesiace, štvrťroky alebo roky.
Porovnanie hodnôt v priebehu času
Nasledujúce témy obsahujú príklady, ako porovnať súčty za rôzne časové obdobia. Predvolenými časovými obdobiami, ktoré podporuje jazyk DAX, sú mesiace, štvrťroky a roky.
Výpočet hodnoty nad vlastným rozsahom dátumov
Príklady na načítanie vlastných rozsahov dátumov, napríklad prvých 15 dní po spustení akcie predaja, nájdete v nasledujúcich témach.
Ak používate funkcie časovej inteligencie na načítanie vlastnej množiny dátumov, môžete túto množinu dátumov použiť ako vstupnú množinu pre funkciu, ktorá vykonáva výpočty, na vytvorenie vlastných súhrnov v rámci jednotlivých časových období. Pozrite si nasledujúcu tému, kde je uvedený príklad, ako na to:
-
Poznámka: Ak nepotrebujete určiť vlastný rozsah dátumov, ale pracujete so štandardnými účtovnými jednotkami, ako sú mesiace, štvrťroky alebo roky, odporúčame vám vykonávať výpočty pomocou funkcií časovej inteligencie navrhnutých na tento účel, ako sú napríklad TOTALQTD, TOTALMTD, TOTALQTD atď.
Scenáre: Poradie a porovnanie hodnôt
Ak chcete zobraziť len horný počet položiek v stĺpci alebo kontingenčnej tabuľke, máte niekoľko možností:
-
Pomocou funkcií z Excel 2010 môžete vytvoriť filter Najlepšie. V kontingenčnej tabuľke môžete tiež vybrať niekoľko najvyššími alebo dolnými hodnotami. Prvá časť tejto časti popisuje, ako filtrovať prvých 10 položiek v kontingenčnej tabuľke. Ďalšie informácie nájdete v dokumentácii Excel dokument.
-
Môžete vytvoriť vzorec, ktorý dynamicky zoraďuje hodnoty a potom filtrovať podľa hodnôt poradia, alebo použiť hodnotu poradia ako rýchly filter. V druhej časti tejto časti je popísané, ako vytvoriť tento vzorec a potom použiť jeho poradie v rýchlych filtroch.
Pre každú metódu existujú výhody a nevýhody.
-
Filter Excel najlepšieho filtra sa jednoducho používa, filter je však určený výhradne na účely zobrazenia. Ak sa zmení údaje, ktoré sú podkladom pre kontingenčnú tabuľku, na zobrazenie zmien treba kontingenčnú tabuľku manuálne obnoviť. Ak potrebujete dynamicky pracovať s poradiami, môžete použiť daX na vytvorenie vzorca, ktorý porovnáva hodnoty s inými hodnotami v stĺpci.
-
Vzorec DAX je výkonnejší, Okrem toho pridaním hodnoty poradia do rýchleho filtra môžete jednoducho kliknúť na rýchly filter a zmeniť počet zobrazených maximálnych hodnôt. Výpočty sú však výpočty nákladné a táto metóda nemusí byť umiesená pre tabuľky s mnohými riadkami.
Zobrazenie len hornej desať položiek v kontingenčnej tabuľke
Zobrazenie najvyššej alebo dolnej hodnoty v kontingenčnej tabuľke
|
Dynamické poradie položiek pomocou vzorca
Nasledujúca téma obsahuje príklad použitia funkcie DAX na vytvorenie poradia, ktoré je uložené vo vypočítavaných stĺpcoch. Keďže vzorce dax sa vypočítavajú dynamicky, vždy sa môžete uistiť, že poradie je správne, aj keď sa zmenili základné údaje. Keďže sa vzorec používa vo vypočítaných stĺpcoch, môžete použiť poradie v rýchlych filtroch a potom vybrať 5 najlepších, 10 najlepších alebo dokonca 100 najlepších hodnôt.