Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Dnes sa chcem zamerať na niečo, čo nazývam skrytá pasca DAX. Ak sa ocitnete v tejto situácii, budete mať pocit, že strácate rozum, pretože váš DAX bude vyzerať správne, ale nebude fungovať. Prevediem vás, kedy k tomu dôjde a čo s tým môžete urobiť, a zároveň vám poviem o niektorých všeobecných osvedčených postupoch optimalizácie jazyka DAX. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

Poďme sa najprv pozrieť na to, s čím tu pracujeme. Máme asi 10-ročné údaje z internetovej filmovej databázy. Tabuľky faktov sú celkom jednoduché a máme k dispozícii údaje o hodnotení, rozpočtoch a hrubých údajoch.

Dnes sa pozrieme na celosvetové tržby.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Máme aj našu rozšírenú tabuľku dátumov. Toto bude analýza časovej inteligencie založená na tabuľke dátumov a tabuľke faktov.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Obsah

Celkový celosvetový hrubý rok

Chceme urobiť niečo naozaj spoločné a jednoduché. Naša celková celosvetová hrubá suma je len veľmi jednoduchý súhrnný súčet, ktorý chceme previesť na percentá.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Aby sme to dosiahli, použijeme čitateľa ( miera celkovej celosvetovej hrubej sumy ) a menovateľa ( meranie celkovej celosvetovej hrubej sumy , ale z filtra roku sme odstránili kontext).

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Použil som, pretože si myslím, že je to intuitívnejšie, keď čítate kód, ale ak dávate prednosť , funguje to rovnako dobre. Čitateľ len vydelíme menovateľom, aby sme dostali výsledok.

Ak vezmeme výsledné opatrenie a vložíme ho do našej tabuľky, uvidíte, že robí presne to, čo od neho očakávame. Dostaneme 100 % dole a dostaneme roky prepočítané na ich jednotlivé percentá. Zatiaľ je všetko v poriadku a zatiaľ sme nenarazili na žiadne problémy.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Celkový celosvetový hrubý kvartál

Pozrime sa na podobnú situáciu, keď ideme štvrťročne. Toto opatrenie by mohlo byť užitočné, pretože existujú hypotézy, že výnosy z letnej filmovej sezóny sa líšia od začiatku roka a ku koncu roka vedúceho k oscarovej sezóne.

Opäť máme presne rovnakú mieru s funkciou REMOVEFILTERS na číslach štvrťroka namiesto roku.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

A ak zahodíme mieru, ktorú sme práve urobili, do tabuľky, robí tiež presne to, čo očakávame.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Celosvetové hrubé za mesiac a rok

Poďme sa pozrieť na tretí prípad, ktorý môže byť naozaj bežný, kde sa chceme pozrieť podľa mesiacov a rokov.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

A opäť použijeme rovnakú mieru ako predtým. Tentoraz však filter odstránime podľa mesiaca a roku.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Položme to na náš stôl. Zrazu to nejde.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Vieme povedať, čo na tom nefunguje. Vieme, že celosvetové meranie hrubých údajov funguje, takže to znamená, že čitateľ je v poriadku, ale menovateľ nie. V každom z predchádzajúcich prípadov funkcia REMOVEFILTERS odstránila filter správne, ale v tomto to zjavne nie.

Môžeme to skutočne otestovať tak, že vo výsledku zmeníme to, čo sme sem vrátili.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Namiesto Výsledok použijme Menovateľ. Majte na pamäti, že to bude naformátované v percentách, takže to bude vyzerať trochu smiešne.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Ako menovateľ by sme mali dostať rovnaké číslo v každom riadku, ale nie je to tak.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Môžeme povedať, že to nie je odstránenie filtra na mesiac a rok, a myslíme si, že je to preto, že mesiac a rok je v texte.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Ale predchádzajúci pre štvrťrok bol tiež vyjadrený v texte, takže to nie je jednoducho preto, že jeho text. Treba to len vyriešiť. Keď pole zahodíte bez zoradenia, zoradí sa podľa abecedy.

V tabuľke rozšírených dátumov sa pozrime na pole s názvom Mesiac a rok . Ak sa na to pozrieme v stĺpci Zoradiť podľa , uvidíme niečo zaujímavé.

Uvidíme, že tento stĺpec je zoradený podľa číselnej hodnoty s názvom Mesiac rok. Keď zoradíte jeden stĺpec podľa druhého, tento triediaci stĺpec sa v skutočnosti stane súčasťou kontextu filtra. To je to, čo hádže tento výpočet.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Vráťme sa k nášmu meraniu a odstráňte kontext mesiaca a roku, ktorý používame ako triedu.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Teraz dostávame presne to, čo by sme mali, čiže mesiac a rok vypočítaný ako správne percento.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Pri odstraňovaní kontextu filtra to bude vyžadovať dve polia, keď je zoradený . Môžete sa opýtať, že namiesto toho, aby sme tu museli robiť dve polia, prečo nemôžeme jednoducho odstrániť filtre z celej tabuľky dátumov?

Odpoveď je, že môžeme, a to bude fungovať pre tri príklady, o ktorých sme hovorili, pretože každý z týchto stĺpcov je súčasťou našej tabuľky dátumov. Odstránenie celého kontextu filtra z tejto tabuľky bude fungovať vo všetkých troch prípadoch, ale v skutočnosti je to zlý nápad.

Ako všeobecný princíp optimalizácie jazyka DAX musíte odstrániť toľko kontextu filtra, koľko je potrebné, aby ste dosiahli požadovaný výsledok.

Vo väčšine prípadov to nebudete prezentovať v tabuľkovom formáte. Budete to prezentovať ako maticu a budete potrebovať zložitejšie meranie, pretože v tom istom stĺpci máte dve rôzne podrobnosti. Toto opatrenie vyzerá komplikovane, ale v skutočnosti nie je.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Toto je len rozšírenie toho, čo sme už urobili. Prvá časť tohto výpočtu optimalizácie jazyka DAX ukazuje menovateľov pre rôznu zrnitosť. Odstránime kontext filtra pre mesiac, pre rok a pre celú tabuľku.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Pre druhú časť výpočtu sme použili SWITCH TRUE. Pre túto funkciu musíte prejsť od najšpecifickejšej po najmenej špecifickú. Mesiac je náš najužší a najšpecifickejší rozsah, takže tu začíname. Budeme musieť odstrániť kontext pomocou týchto dvoch polí, ktoré sme identifikovali.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Pre rozsah roka musíme odstrániť kontext v roku a odstrániť kontext v celej tabuľke.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Pozrime sa, čo sa stane, ak vezmeme a odstránime kontext ako celok. Pre všetky tri prípady použijeme iné opatrenie, ktoré odstráni kontext z celej tabuľky dátumov.

Optimalizácia DAX: Kde nájsť skrytú pascu DAX

Uvidíme, že opatrenie príliš odstraňuje kontext. Namiesto výpočtu príspevku každého mesiaca k danému roku sa vypočíta príspevok daného mesiaca k celému súboru údajov. Toto nie je to, čo chceme, pretože odstránenie kontextu z celej tabuľky je v skutočnosti len tupým nástrojom, keď je potrebný skalpel.

Záver

Existuje veľa prípadov, keď máte maticu a musíte starostlivo kontrolovať, aký kontext odstránite. Len odstránenie kontextu z celej tabuľky spôsobí tento druh problémov.

Dúfam, že keď táto situácia nastane (čo v určitom okamihu vždy bude), spoznáte to ako skrytú pascu, o ktorej sme diskutovali v tomto príspevku o optimalizácii DAX, a budete sa jej môcť vyhnúť bez rovnakej frustrácie. že mi to spôsobilo, keď som to prvýkrát videl a nemohol som prísť na to, prečo môj DAX nepracuje správne.

Ak sa vám páčila téma optimalizácie jazyka DAX, ktorou sa zaoberá tento konkrétny návod, prihláste sa na odber televízneho kanála LuckyTemplates . Neustále nám vychádza obrovské množstvo obsahu od mňa a od mnohých tvorcov obsahu, z ktorých všetci sa venujú zlepšovaniu spôsobu, akým používate LuckyTemplates a Power Platform.


Historie verzí v seznamech SharePoint

Historie verzí v seznamech SharePoint

Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.

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.