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

Tato část obsahuje odkazy na příklady, které ukazují použití vzorců DAX v následujících scénářích.

  • Provádění složitých výpočtů

  • Práce s textem a kalendářními daty

  • Podmíněné hodnoty a testování chyb

  • Použití časového měřítka

  • Řazení a porovnávání hodnot

V tomto článku

Začínáme

Navštivte wikiweb centra prostředků DAX , kde najdete nejrůznější informace o jazyce DAX, včetně blogů, ukázek, dokumentů white paper a videí od špičkových odborníků a Microsoftu.

Scénáře: Provádění složitých výpočtů

Vzorce DAX můžou provádět složité výpočty, které zahrnují vlastní agregace, filtrování a použití podmíněných hodnot. Tato část obsahuje příklady, jak začít s vlastními výpočty.

Vytvoření vlastních výpočtů pro kontingenční tabulku

FUNKCE CALCULATE a CALCULATETABLE jsou výkonné a flexibilní funkce, které jsou užitečné pro definování počítaných polí. Tyto funkce umožňují změnit kontext, ve kterém se bude výpočet provádět. Můžete také přizpůsobit typ agregace nebo matematické operace, které se mají provádět. Příklady najdete v následujících tématech.

Použití filtru u vzorce

Na většině míst, kde funkce DAX používá tabulku jako argument, můžete místo toho obvykle předat filtrovanou tabulku, a to buď pomocí funkce FILTER místo názvu tabulky, nebo zadáním výrazu filtru jako jednoho z argumentů funkce. Následující témata obsahují příklady, jak vytvořit filtry a jak filtry ovlivňují výsledky vzorců. Další informace najdete v tématu Filtrování dat ve vzorcích DAX.

Funkce FILTER umožňuje určit kritéria filtru pomocí výrazu, zatímco ostatní funkce jsou navrženy speciálně pro filtrování prázdných hodnot.

Selektivní odebrání filtrů za účelem vytvoření dynamického poměru

Vytvořením dynamických filtrů ve vzorcích můžete snadno odpovědět na tyto otázky:

  • Jaký byl příspěvek prodeje aktuálního produktu k celkovému prodeji za rok?

  • Do jaké míry přispělo toto oddělení k celkovému zisku za všechny provozní roky v porovnání s ostatními divizemi?

Vzorce, které používáte v kontingenční tabulce, můžou být ovlivněny kontextem kontingenční tabulky, ale můžete ho selektivně změnit přidáním nebo odebráním filtrů. V příkladu v tématu VŠE se dozvíte, jak to udělat. Pokud chcete zjistit poměr prodeje pro konkrétního prodejce k prodejům všech prodejců, vytvořte míru, která vypočítá hodnotu pro aktuální kontext vydělenou hodnotou pro kontext ALL.

Téma ALLEXCEPT poskytuje příklad, jak selektivně vymazat filtry ve vzorci. Oba příklady vás provedou tím, jak se výsledky mění v závislosti na návrhu kontingenční tabulky.

Další příklady výpočtu poměrů a procent najdete v následujících tématech:

Použití hodnoty z vnější smyčky

Kromě použití hodnot z aktuálního kontextu ve výpočtech může jazyk DAX použít hodnotu z předchozí smyčky při vytváření sady souvisejících výpočtů. Následující téma obsahuje návod, jak vytvořit vzorec, který odkazuje na hodnotu z vnější smyčky. Funkce EARLIER podporuje až dvě úrovně vnořených smyček.

Další informace o kontextu řádku a souvisejících tabulkách a o tom, jak tento koncept používat ve vzorcích, najdete v tématu Kontext ve vzorcích DAX.

Scénáře: Práce s textem a kalendářními daty

Tato část obsahuje odkazy na referenční témata jazyka DAX, která obsahují příklady běžných scénářů práce s textem, extrakce a vytváření hodnot data a času nebo vytváření hodnot založených na podmínce.

Vytvoření klíčového sloupce pomocí zřetězení

Power Pivot neumožňuje složené klíče; Proto pokud máte ve zdroji dat složené klíče, možná je budete muset zkombinovat do jednoho sloupce s klíčem. Následující téma obsahuje jeden příklad vytvoření počítaného sloupce na základě složeného klíče.

Vytvoření data na základě částí data extrahovaných z textového data

Power Pivot používá k práci s daty datový typ datum a čas SQL Serveru. Proto pokud vaše externí data obsahují různě formátovaná data – například pokud jsou data zapsána v místním formátu data, který Power Pivot datový stroj nerozpozná, nebo pokud vaše data používají celočíselné náhradní klíče – možná budete muset použít vzorec DAX k extrahování částí kalendářního data a následnému vytvoření částí do platné reprezentace data a času.

Pokud máte například sloupec kalendářních dat, která byla reprezentována jako celé číslo a pak importována jako textový řetězec, můžete řetězec převést na hodnotu data a času pomocí následujícího vzorce:

=DATE(RIGHT([Hodnota1],4);LEFT([Hodnota1],2);MID([Hodnota1],2))

Hodnota1:

Výsledek

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Následující témata obsahují další informace o funkcích používaných k extrakci a vytváření dat.

Definování vlastního formátu data nebo čísla

Pokud data obsahují kalendářní data nebo čísla, která nejsou reprezentována v jednom ze standardních textových formátů Windows, můžete definovat vlastní formát, který zajistí správné zpracování hodnot. Tyto formáty se používají při převodu hodnot na řetězce nebo z řetězců. V následujících tématech najdete také podrobný seznam předdefinovaných formátů, které jsou k dispozici pro práci s kalendářními daty a čísly.

Změna datových typů pomocí vzorce

V Power Pivot je datový typ výstupu určen zdrojovými sloupci a nelze explicitně určit datový typ výsledku, protože optimální datový typ je určen Power Pivot. K manipulaci s výstupním datovým typem však můžete použít implicitní převody datových typů prováděné Power Pivot. 

  • Pokud chcete převést datum nebo řetězec čísla na číslo, vynásobte číslem 1,0. Například následující vzorec vypočítá aktuální datum minus 3 dny a pak vypíše odpovídající celočíselnou hodnotu.

    =(DNES()-3)*1,0

  • Pokud chcete převést hodnotu data, čísla nebo měny na řetězec, zřetěďte hodnotu s prázdným řetězcem. Například následující vzorec vrátí dnešní datum jako řetězec.

    =""& DNES()

K zajištění vrácení konkrétního datového typu je také možné použít následující funkce:

Převod reálných čísel na celá čísla

Scénář: Podmíněné hodnoty a testování chyb

Stejně jako Excel má jazyk DAX funkce, které umožňují testovat hodnoty v datech a vracet jinou hodnotu na základě podmínky. Můžete například vytvořit počítaný sloupec, který prodejce označí buď jako Preferovaný , nebo Hodnotu v závislosti na roční výši prodeje. Funkce, které testují hodnoty, jsou také užitečné pro kontrolu rozsahu nebo typu hodnot, aby se zabránilo chybám při výpočtech neočekávaných dat.

Vytvoření hodnoty založené na podmínce

K testování hodnot a podmíněnému generování nových hodnot můžete použít vnořené podmínky IF. Následující témata obsahují několik jednoduchých příkladů podmíněného zpracování a podmíněných hodnot:

Testování chyb ve vzorci

Na rozdíl od Excelu nemůžete mít platné hodnoty v jednom řádku počítaného sloupce a neplatné hodnoty v jiném řádku. To znamená, že pokud v některé části sloupce Power Pivot dojde k chybě, označí se celý sloupec příznakem chyby, takže je nutné vždy opravit chyby vzorce, které mají za následek neplatné hodnoty.

Pokud například vytvoříte vzorec, který se vydělí nulou, může se zobrazit výsledek nekonečna nebo chyba. Některé vzorce také selžou, pokud funkce narazí na prázdnou hodnotu, když očekává číselnou hodnotu. Při vývoji datového modelu je nejlepší povolit zobrazování chyb, abyste mohli kliknout na zprávu a problém vyřešit. Když ale sešity publikujete, měli byste začlenit zpracování chyb, abyste zabránili tomu, že neočekávané hodnoty způsobí selhání výpočtů.

Abyste se vyhnuli chybám v počítaném sloupci, použijte kombinaci logických a informačních funkcí k testování chyb a vždy vrátíte platné hodnoty. V následujících tématech najdete několik jednoduchých příkladů, jak to udělat v jazyce DAX:

Scénáře: Použití časového měřítka

Funkce časového měřítka jazyka DAX obsahují funkce, které vám pomůžou načíst data nebo rozsahy dat z vašich dat. Tato data nebo rozsahy dat pak můžete použít k výpočtu hodnot v podobných obdobích. Funkce časového měřítka zahrnují také funkce, které pracují se standardními intervaly kalendářních dat, které umožňují porovnávat hodnoty v měsících, letech nebo čtvrtletích. Můžete také vytvořit vzorec, který porovnává hodnoty pro první a poslední datum zadaného období.

Seznam všech funkcí časového měřítka najdete v tématu Funkce časového měřítka (DAX). Tipy, jak efektivně používat data a časy v Power Pivot analýze, najdete v tématu Kalendářní data v Power Pivotu.

Výpočet kumulativních prodejů

Následující témata obsahují příklady výpočtu zůstatku uzavření a otevření. Příklady umožňují vytvářet průběžné zůstatky v různých intervalech, jako jsou dny, měsíce, čtvrtletí nebo roky.

Porovnání hodnot v průběhu času

Následující témata obsahují příklady porovnání součtů v různých časových obdobích. Výchozí časová období podporovaná jazykem DAX jsou měsíce, čtvrtletí a roky.

Výpočet hodnoty pro vlastní rozsah kalendářních dat

V následujících tématech najdete příklady, jak načíst vlastní rozsahy dat, například prvních 15 dní po zahájení propagační akce.

Pokud k načtení vlastní sady kalendářních dat používáte funkce časového měřítka, můžete tuto sadu kalendářních dat použít jako vstup do funkce, která provádí výpočty, a vytvořit tak vlastní agregace napříč časovými obdobími. Příklad, jak to udělat, najdete v následujícím tématu:

  • PARALLELPERIOD – funkce

    Poznámka: Pokud nepotřebujete zadávat vlastní rozsah kalendářních dat, ale pracujete se standardními účetními jednotkami, jako jsou měsíce, čtvrtletí nebo roky, doporučujeme provádět výpočty pomocí funkcí časového měřítka určených k tomuto účelu, například TOTALQTD, TOTALMTD, TOTALQTD atd.

Scénáře: Řazení a porovnávání hodnot

Pokud chcete ve sloupci nebo kontingenční tabulce zobrazit jenom n položek s nejvyšším počtem, máte několik možností:

  • Funkce v Excelu můžete použít k vytvoření horního filtru. V kontingenční tabulce můžete také vybrat počet nejvyšších nebo nejnižších hodnot. První část této části popisuje, jak filtrovat prvních 10 položek v kontingenční tabulce. Další informace najdete v dokumentaci k Excelu.

  • Můžete vytvořit vzorec, který dynamicky řadí hodnoty, a pak filtrovat podle hodnot řazení nebo použít hodnotu řazení jako průřez. Druhá část této části popisuje, jak vytvořit tento vzorec a pak toto pořadí použít v průřezu.

Každá metoda má své výhody a nevýhody.

  • Horní filtr Excelu se snadno používá, ale je určený výhradně pro účely zobrazení. Pokud se změní podkladová data kontingenční tabulky, musíte kontingenční tabulku aktualizovat ručně, aby se změny zobrazily. Pokud potřebujete dynamicky pracovat s řazením, můžete pomocí jazyka DAX vytvořit vzorec, který porovnává hodnoty s jinými hodnotami ve sloupci.

  • Vzorec DAX je výkonnější. Když navíc přidáte hodnotu řazení do průřezu, stačí kliknout na průřez a změnit počet zobrazených nejvyšších hodnot. Výpočty jsou však výpočetně nákladné a tato metoda nemusí být vhodná pro tabulky s mnoha řádky.

Zobrazení pouze prvních deseti položek v kontingenční tabulce

Zobrazení nejvyšších nebo nejnižších hodnot v kontingenční tabulce

  1. V kontingenční tabulce klikněte na šipku dolů v záhlaví Popisky řádků .

  2. Vyberte Filtry hodnot> Prvních 10.

  3. V dialogovém okně Filtr prvních 10 <název sloupce> zvolte sloupec, který chcete seřadit, a počet hodnot následujícím způsobem:

    1. Vyberte Nahoře , pokud chcete zobrazit buňky s nejvyššími hodnotami, nebo Dole , pokud chcete zobrazit buňky s nejnižšími hodnotami.

    2. Zadejte počet nejvyšších nebo nejnižších hodnot, které chcete zobrazit. Výchozí hodnota je 10.

    3. Vyberte, jak se mají hodnoty zobrazovat:

Název

Popis

Položky

Tuto možnost vyberte, pokud chcete kontingenční tabulku filtrovat tak, aby se zobrazoval jenom seznam horních nebo dolních položek podle jejich hodnot.

Procenta:

Tuto možnost vyberte, pokud chcete kontingenční tabulku filtrovat tak, aby se zobrazily jenom položky, které se sčítají do zadaného procenta.

Součet

Tuto možnost vyberte, pokud chcete zobrazit součet hodnot pro horní nebo dolní položky.

  1. Vyberte sloupec obsahující hodnoty, které chcete seřadit.

  2. Klikněte na OK.

Dynamické řazení položek pomocí vzorce

Následující téma obsahuje příklad použití jazyka DAX k vytvoření pořadí uloženého v počítaném sloupci. Vzhledem k tomu, že vzorce DAX se počítají dynamicky, můžete mít vždy jistotu, že je pořadí správné, i když se podkladová data změnila. Protože se vzorec používá v počítaném sloupci, můžete použít pořadí v průřezu a pak vybrat 5, prvních 10 nebo dokonce prvních 100 hodnot.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.