Iterační funkce v jazyce DAX – podrobný příklad

Pro tento blogový příspěvek se chci ponořit do iteračních funkcí v rámci jazyka DAX v LuckyTemplates. Důvod, proč chci strávit nějaký čas ukazováním toho, co můžete dělat v rámci iteračních funkcí, je ten, že je to tak důležitý koncept, který se musíte velmi dobře naučit. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Možná jste právě dokončili některé jednoduché SUMY nebo potenciálně použili funkci AVERAGE, ale je také důležité pochopit, jak používat iterační funkce, které mají na konci X , jako například: SUMX, AVERAGEX nebo COUNTX.

Důvodem je to, že s iterační funkcí můžete dosáhnout mnohem pokročilejšího pokroku než s agregační funkcí.

Obsah

Co je to iterační funkce?

Pokud stále nejste obeznámeni s tím, co je iterační funkce, je to funkce v jazyce vzorců DAX, která má na konci obecně X. Máte také tabulkové funkce, které iterují tabulkou jako FILTER nebo VALUES, ale v tomto případě se budeme zabývat výhradně SUMX.

Pokud se podíváte na náš vzorec pro celkový prodej, můžete, že se jedná o iterační funkci kvůli SUMX. Iterace znamená iterovat každý jednotlivý řádek a provést výpočet. V tomto případě pro každý jeden řádek v tabulce Prodej násobíme množství aktuální cenou. Vrátíme se také k tabulce Produkt pomocí funkce RELATED, abychom získali aktuální cenu.

Iterační funkce v jazyce DAX – podrobný příklad

Chci vám ukázat, jak můžete napsat opravdu složité iterační funkce, které získají skvělý přehled, který byste mohli chtít získat ve svých datech. Pro tento tutoriál chci spočítat, kolik prodejů provedeme nad určitou cenu. V tomto případě vybereme 2 000 $.

Také chci vědět, jaké jsou naše měsíční tržby za produkty, které jsou nad 2000 $, ale kde někdo kupuje více než jen jeden produkt. Chceme také vidět, jak dobře je ve srovnání s naším celkovým prodejem. To je druh složitosti, kterého lze dosáhnout napsáním pouze jednoho vzorce a použitím iterační funkce.

Prodejní cena vyšší než 2000 $

Vytvořme míru a nazvěme ji Prodejní cena > 2000 $ a množství > 1 . Obecně byste museli napsat několik různých sloupců nebo několik různých opatření, abyste zde viděli odpověď, ale ukážu vám, jak to můžete skutečně udělat pouze s jedním. Začnu se SUMX a tady se píše, že musíme vstoupit do stolu, že?

Iterační funkce v jazyce DAX – podrobný příklad

Takže se s touto výzvou Množství > 1 vypořádáme vytvořením tabulky, která není celou tabulkou Prodej, ale tabulkou, která již odfiltrovala vše, co bylo vidět pouze jednou. Zde použijeme FILTER, protože se jedná o tabulkovou funkci, takže dovnitř můžete vložit jakýkoli druh tabulky. Pak půjdeme s Prodejem a projdeme každý jednotlivý řádek v tabulce Prodej v tomtoa odfiltrujte každý řádek s množstvím, které je větší než jedna.

Iterační funkce v jazyce DAX – podrobný příklad

Pro každý prodej nad 1 chci také vytvořit další logiku. Napíšu vzor výrazu a použiji zde SWITCH. Řekneme, že pokud má prodej aktuální cenu vyšší nebo rovnou 2 000 USD, chci vypočítat celkový prodej. Pokud není, tak se mi to vůbec nechce počítat. Nakonec dám 0 jako alternativní výsledek.

Iterační funkce v jazyce DAX – podrobný příklad

Takto napíšete některé poměrně složité iterační vzorce v jazyce DAX. Klíčovou částí je jen pochopit, jaké tabulky tam můžete vložit, a vědět, co dělá skutečná iterace .

V tomto případě pro každý jednotlivý řádek v této tabulce filtru hodnotím aktuální cenu, která je vyšší než 2000 USD. Pokud je, spočítáme prodeje tohoto řádku, a pokud ne, pak je to jen 0.

Jakmile toto měření přetáhnu do tabulky, uvidíte, že výsledky jsou podobné těm, kterých jsme dosáhli v prvním grafu; jediný rozdíl je v tom, že je to na denní bázi.

Iterační funkce v jazyce DAX – podrobný příklad

Prodejní cena vyšší než 500 $

Můžeme zde vytvořit další náhled opětovným použitím stejného vzoru. Pokud bychom se chtěli podívat na to, co bylo nad 500 $, stačí, když zde provedeme nějaké malé změny, stiskneme enter a přetáhneme to také do tabulky.

Iterační funkce v jazyce DAX – podrobný příklad

Je zřejmé, že vidíme velký rozdíl, protože existuje více produktů, které počítáme. Je to proto, že se nezbavujeme tolika produktů s vyšší nebo nižší cenou, jako jsme byli dříve s 2000 dolary.

Iterační funkce v jazyce DAX – podrobný příklad

Vizualizace dat 

Můžeme to také změnit na a, nicméně, jak vidíte, graf vypadá trochu zaneprázdněně, takže je pravděpodobně lepší zůstat v tabulce, nebo můžeme časový rámec zkrátit jako graf vlevo.

Iterační funkce v jazyce DAX – podrobný příklad

Doufejme, že dokážete vyhodnotit a pochopit, jak daleko můžete s těmito iteračními funkcemi v rámci jazyka DAX zajít. Můžete se začít skutečně ponořit do jakéhokoli aspektu vašich dat nebo získat velmi konkrétní poznatky. Způsob, jak to udělat, je použít tento kontext řádku, který vám umožní skutečně se dostat dovnitř těchto iteračních funkcí. Můžete se podívat na jednotlivý řádek, vložit jej do výpočtu nebo mimo něj a použít iterační funkce, jako je SUMX, AVERAGEX a COUNTX.

Iterační funkce vám poskytují mnohem větší flexibilitu, pokud jde o výpočty, které můžete provádět na úrovni řádků, oproti agregacím, které umožňují pouze agregovat celý sloupec. Nyní v rámci iteračních funkcí musíte nejprve zadat odkaz na tabulku a poté výraz, ale rozhodně si rozmyslete, co které z nich může ve skutečnosti být.

V rámci iteračních funkcí můžete vlastně vložit do jakékoli tabulky nebo jakékoli derivace tabulky… také jakoukoli virtuální tabulku nebo odkaz na tabulku. To umožňuje mnohem větší flexibilitu, než jakou byste běžně měli, pokud byste k provádění nějaké logiky použili pouze celou tabulku, jako je tabulka transakcí.

Výraz (nebo míra), který zadáte, může být také velmi pokročilý. Můžete použít pokročilou logiku IF nebo SWITCH logiku nebo v podstatě cokoli, co můžete dělat na úrovni řádku uvnitř počítaného sloupce. Ve skutečnosti to můžete vložit do této výrazové části iterační funkce.

Závěr

Klíčovým poznatkem z tohoto příspěvku je, že iterační funkce jsou neuvěřitelně důležité pro pochopení a dobré učení uvnitř LuckyTemplates.

Pokud se to dobře naučíte, možnosti spouštění interních výpočtů v paměti pomocí měření se stanou opravdu, opravdu mocnými.

Podívejte se napokud právě začínáte s jazykem DAX a LuckyTemplates. V tomto bezplatném kurzu se toho můžete hodně naučit. Toto najdete na.


Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.