Applies ToExcel pre Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Power BI

Táto časť obsahuje prepojenia na príklady, ktoré demonštrujú používanie 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 porovnávanie hodnôt

Obsah tohto článku

Začíname

Navštívte stránku wiki centra zdrojov DAX , kde nájdete rôzne informácie o jazyku DAX vrátane blogov, ukážok, dokumentácií a videí poskytovaných poprednými odborníkmi z odvetvia 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é flexibilné funkcie, ktoré sú užitočné pri definovaní vypočítavaných polí. Tieto funkcie umožňujú zmeniť kontext, v ktorom sa bude výpočet vykonávať. 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 vo vzorci

Vo väčšine miest, kde funkcia DAX vezme tabuľku ako argument, môžete zvyčajne namiesto toho odovzdať filtrovanú tabuľku 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 vytvárania filtrov a vplyvu filtrov na 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 tieto otázky:

  • Aký bol príspevok predaja aktuálneho produktu k celkovému predaju za daný rok?

  • Koľko táto divízia prispela k celkovému zisku za všetky prevádzkové 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, ale pridaním alebo odstránením filtrov môžete selektívne zmeniť kontext. V príklade v téme ALL sa dozviete, ako na to. Ak chcete nájsť pomer predaja konkrétneho predajcu k predaju pre všetkých predajcov, vytvorte mierku, ktorá vypočíta hodnotu aktuálneho kontextu vydelenú hodnotou pre kontext ALL.

Téma ALLEXCEPT poskytuje príklad selektívneho vymazania filtrov vo vzorci. V oboch príkladoch sa dozviete, ako sa výsledky menia v závislosti od návrhu kontingenčnej tabuľky.

Ďalšie príklady výpočtu pomerov a percentuálnych podielov nájdete v nasledujúcich témach:

Použitie hodnoty z vonkajšej slučky

Okrem používania hodnôt z aktuálneho kontextu vo výpočtoch môže jazyk DAX použiť hodnotu z predchádzajúcej slučky pri vytváraní množiny súvisiacich výpočtov. Nasledujúca téma obsahuje návod na vytvorenie vzorca, ktorý odkazuje na hodnotu z vonkajšej slučky. Funkcia EARLIER podporuje až dve úrovne vnorených slučiek.

Ďalšie informácie o kontexte riadka a súvisiacich tabuľkách a o tom, ako používať tento koncept 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 jazyka DAX, ktoré obsahujú príklady bežných scenárov, ktoré zahŕňajú prácu s textom, extrahovanie a vytváranie hodnôt dátumu a času alebo vytváranie hodnôt na základe podmienky.

Vytvorenie stĺpca kľúča zreťazením

Power Pivot nepovoľuje zložené kľúče; preto ak máte v zdroji údajov zložené kľúče, možno ich budete musieť skombinovať do jedného stĺpca kľúča. Nasledujúca téma obsahuje jeden príklad vytvorenia vypočítaného stĺpca na základe zloženého kľúča.

Vytvorenie dátumu na základe častí dátumu extrahovaných z textového dátumu

Power Pivot používa typ údajov dátumu a času SQL Servera na prácu s dátumami. preto, ak vaše externé údaje obsahujú dátumy, ktoré sú formátované odlišne – napríklad ak sú dátumy napísané v miestnom formáte dátumu, ktorý Power Pivot údajový nástroj nerozpoznal, alebo ak vaše údaje používajú celočíselné náhradné kľúče - možno budete musieť použiť vzorec DAX na extrahovanie častí dátumu a následné zostavenie častí do platného vyjadrenia dátumu a času.

Ak máte napríklad stĺpec dátumov, ktoré boli zastúpené ako celé číslo a potom importované ako textový reťazec, môžete skonvertovať reťazec 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

V nasledujúcich témach nájdete ďalšie informácie o funkciách používaných na extrahovanie a vytváranie dátumov.

Definovanie vlastného formátu dátumu alebo čísla

Ak údaje obsahujú dátumy alebo čísla, ktoré nie sú uvedené v jednom zo štandardných textových formátov windowsu, môžete definovať vlastný formát, aby ste zabezpečili správne spracovanie hodnôt. Tieto formáty sa používajú pri konverzii hodnôt na reťazce alebo z reťazcov. Nasledujúce témy tiež obsahujú podrobný zoznam preddefinovaných formátov, ktoré sú k dispozícii na prácu s dátumami a číslami.

Zmena typov údajov pomocou vzorca

V Power Pivot je typ údajov výstupu určený zdrojovými stĺpcami a nemôžete explicitne určiť typ údajov výsledku, pretože optimálny typ údajov je určený Power Pivot. Na manipuláciu s typom výstupných údajov však môžete použiť implicitné konverzie typov údajov vykonané Power Pivot. 

  • Ak chcete skonvertovať dátum alebo číselný reťazec na číslo, vynásobte ho hodnotou 1,0. Nasledujúci vzorec napríklad vypočíta aktuálny dátum mínus 3 dni a potom vyhodnotí 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()

Nasledujúce funkcie možno použiť aj na zabezpečenie toho, aby sa vrátil konkrétny typ údajov:

Konvertovanie reálnych čísel na celé čísla

Scenár: Podmienené hodnoty a testovanie chýb

Podobne ako v Exceli, aj 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čítaný stĺpec, ktorý v závislosti od ročného objemu predaja označí predajcov ako preferovaných alebo hodnôt . Funkcie, ktoré testujú hodnoty, sú užitočné aj na kontrolu rozsahu alebo typu hodnôt, aby sa zabránilo neočakávaným chybám údajov pri výpočtoch prerušenia.

Vytvorenie hodnoty na základe podmienky

Na testovanie hodnôt a podmienené generovanie nových hodnôt môžete použiť vnorené podmienky IF. 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 od Excelu nemôžete 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 sa označí príznakom chyby, takže vždy musíte opraviť chyby vzorca, ktoré majú za následok neplatné hodnoty.

Ak napríklad vytvoríte vzorec, ktorý sa vydelí nulou, môže sa zobraziť výsledok nekonečna alebo chyba. Niektoré vzorce zlyhajú aj v prípade, že funkcia narazí na prázdnu hodnotu, keď očakáva číselnú hodnotu. Pri vývoji dátového modelu je najlepšie povoliť zobrazovanie chýb, aby ste mohli kliknúť na správu a vyriešiť problém. Pri publikovaní zošitov by ste však mali zahrnúť spracovanie chýb, aby ste zabránili zlyhaniu neočakávaných hodnôt pri výpočtoch.

Ak sa chcete vyhnúť vráteniu chýb vo vypočítanom stĺpci, použite kombináciu logických a informačných funkcií na testovanie chýb a vždy vrátenie platných hodnôt. V nasledujúcich témach nájdete niekoľko jednoduchých príkladov, ako to urobiť v jazyku DAX:

Scenáre: Používanie časovej inteligencie

Funkcie časovej inteligencie jazyka DAX obsahujú 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 zahŕňajú aj funkcie, ktoré pracujú so štandardnými dátumovými intervalmi, aby vám umožnili porovnávať hodnoty v mesiacoch, rokoch alebo štvrťrokoch. Môžete tiež vytvoriť vzorec, ktorý porovnáva hodnoty pre prvý a posledný dátum zadaného obdobia.

Zoznam všetkých funkcií časovej inteligencie nájdete v téme Funkcie časovej inteligencie (DAX). Tipy na efektívne využívanie dátumov a časov v analýze 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 výpočtu zostatkov pri uzávierke a otvorení. Príklady vám umožňujú vytvárať priebežné zostatky v rôznych intervaloch, ako sú dni, mesiace, štvrťroky alebo roky.

Porovnanie hodnôt v priebehu času

Nasledujúce témy obsahujú príklady porovnávania súčtov v rôznych časových obdobiach. Predvolené časové obdobia podporované jazykom DAX sú mesiace, štvrťroky a roky.

Výpočet hodnoty z vlastného rozsahu dátumov

V nasledujúcich témach nájdete príklady, ako načítať vlastné rozsahy dátumov, napríklad prvých 15 dní po začatí propagácie predaja.

Ak na načítanie vlastnej množiny dátumov používate funkcie časovej inteligencie, môžete túto množinu dátumov použiť ako vstup do funkcie, ktorá vykonáva výpočty, a vytvoriť vlastné agregáty v časových obdobiach. Príklad postupu nájdete v nasledujúcej téme:

  • Funkcia PARALLELPERIOD

    Poznámka: Ak nepotrebujete zadať vlastný rozsah dátumov, ale pracujete so štandardnými účtovnými jednotkami, ako sú mesiace, štvrťroky alebo roky, odporúčame vykonávať výpočty pomocou funkcií časovej inteligencie navrhnutých na tento účel, ako napríklad TOTALQTD, TOTALMTD, TOTALQTD atď.

Scenáre: Poradie a porovnávanie hodnôt

Ak chcete zobraziť iba najvyšší počet položiek v stĺpci alebo kontingenčnej tabuľke, máte niekoľko možností:

  • Funkcie v Exceli môžete použiť na vytvorenie horného filtra. V kontingenčnej tabuľke môžete vybrať aj niekoľko najvyšších alebo posledných hodnôt. 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 k Excelu.

  • 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. Druhá časť tejto časti popisuje, ako vytvoriť tento vzorec a potom použiť toto poradie v rýchlych filtroch.

Každá metóda má svoje výhody a nevýhody.

  • Horný filter v Exceli sa jednoducho používa, ale filter slúži výlučne na účely zobrazenia. Ak sa údaje, z ktorých vychádza kontingenčná tabuľka, zmenia, zmeny sa zobrazia až po manuálnom obnovení kontingenčnej tabuľky. Ak potrebujete dynamicky pracovať s hodnoteniami, môžete pomocou jazyka DAX vytvoriť vzorec, ktorý porovnáva hodnoty s inými hodnotami v stĺpci.

  • Vzorec DAX je výkonnejší. Navyše pridaním hodnoty poradia do rýchleho filtra stačí kliknúť na rýchly filter a zmeniť tak počet zobrazených najvyšších hodnôt. Výpočty sú však výpočtovo náročné a táto metóda nemusí byť vhodná pre tabuľky s mnohými riadkami.

Zobrazenie iba prvých desiatich položiek v kontingenčnej tabuľke

Zobrazenie najvyšších alebo posledných hodnôt v kontingenčnej tabuľke

  1. V kontingenčnej tabuľke kliknite na šípku nadol v záhlaví Označenia riadkov .

  2. Vyberte položku Filtre hodnôt> prvých 10.

  3. V dialógovom okne Filter prvých 10 <názov stĺpca> vyberte stĺpec, ktorý sa má zoradiť, a počet hodnôt takto:

    1. Výberom položky Hore zobrazíte bunky s najvyššími hodnotami alebo Dolná a zobrazia sa bunky s najnižšími hodnotami.

    2. Zadajte počet najvyšších alebo posledných hodnôt, ktoré chcete zobraziť. Predvolená hodnota je 10.

    3. Vyberte spôsob zobrazovania hodnôt:

Názov

Popis

Položky

Vyberte túto možnosť, ak chcete filtrovať kontingenčnú tabuľku tak, aby sa zobrazil iba zoznam prvých alebo posledných položiek podľa ich hodnôt.

Percento

Vyberte túto možnosť, ak chcete filtrovať kontingenčnú tabuľku tak, aby sa zobrazili iba položky, ktoré zvyšujú zadané percento.

Súčet

Vyberte túto možnosť, ak chcete zobraziť súčet hodnôt pre horné alebo dolné položky.

  1. Vyberte stĺpec obsahujúci hodnoty, ktoré chcete zoradiť.

  2. Kliknite na tlačidlo OK.

Dynamická objednávka položiek pomocou vzorca

Nasledujúca téma obsahuje príklad použitia jazyka DAX na vytvorenie poradia uloženého vo vypočítavanom stĺpci. Keďže vzorce DAX sa vypočítavajú dynamicky, vždy si môžete byť istí, že poradie je správne aj v prípade zmeny základných údajov. Keďže sa vzorec používa vo vypočítanom stĺpci, môžete použiť poradie v rýchlych filtroch a potom vybrať prvých 5, prvých 10 alebo dokonca prvých 100 hodnôt.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.