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.

Leave a Comment

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Naučte se, jak rozebrat soubor PBIX a extrahovat motivy a obrázky LuckyTemplates z pozadí pro váš report!

Prehľad a vytvorenie domovskej stránky SharePointu

Prehľad a vytvorenie domovskej stránky SharePointu

Naučte sa, ako vytvoriť domovskú stránku SharePointu, ktorá sa predvolene načítava, keď používatelia zadajú adresu vašej webovej lokality.

Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.