Skapa en datumtabell i LuckyTemplates
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Bådeochär kraftfulla verktyg för att manipulera och analysera data i DAX-fråga, men de har några viktiga skillnader som är viktiga att förstå.
I den här bloggen kommer vi att gå över funktionen CALCULATETABLE och dess , och förstå hur den skiljer sig från FILTER -funktionen. I slutet kommer du att ha en bättre förståelse för hur du väljer rätt funktion för dina dataanalysbehov.
För att demonstrera använder vi DAX-koden nedan.
När du kör den här koden får du en tabell som visar varumärke och färg.
På fliken Frågeplaner får du en kod som motsvarar CrossApply -operatorn i .
Samtidigt kan du se att koden bara hämtar produktens färg och varumärke på fliken Server Timings .
Innehållsförteckning
DAX Studio Server Timings Resultat för BERÄKNINGSTABELL
Som ett exempel, låt oss filtrera produktfärgen så att den bara visar röd och/eller svart.
Du kan göra det genom att använda FILTER-funktionen. När du kör det kommer Server Timings att visa att FILTER-argumentet inte tillämpas på .
Men om du använder funktionen CALCULATETABLE kommer frågan på fliken Server Timings att visa att resultaten har filtrerats efter produktfärg.
BERÄKNINGSBAR Frågeplan i DAX Studio
Låt oss titta på frågeplanen för varje funktion.
CALCULATETABLE finns på den första raden i den logiska frågeplanen eftersom det är en funktion på toppnivå i koden och därför inte beror på några krav.
När du läser frågeplanen för en CALCULATETABLE-funktion börjar du inte med det första argumentet. Du måste först förstå filterkontexten som används. Så låt oss gå till rad 5.
Du kan se att operatören kräver produktfärgkolumnen på grund av det tillämpade filtret. Den skannar sedan denna kolumn och använder kombinationen Not IsEmpty Filter för att kontrollera produktfärgen mot varje rad.
Efter att filterkontexten har förberetts utförs argumentet.
Så här i efterhand, om du använder FILTER-funktionen, kommer du att se en annan frågeplan, så CROSSJOIN-argumentet utförs innan filterkontexten identifieras.
Nackdelen med detta tillvägagångssätt är att det inte pressar filtertillståndet till lagringsmotorn. Du kommer inte att kunna använda WHERE -satsen inuti xmSQL som kommer att lägga en tung börda på Formula Engine.
Och när du arbetar med flera tabeller blir filterkombinationen av CROSSJOIN-funktionen enorm. Detta saktar ner prestandan för DAX-koden. Därför är det i de flesta fall rekommenderat att använda funktionen Kalkyltabell.
Så istället för att utföra alla beräkningar i Formula Engine kan du injicera filtervillkoret i WHERE-klassen för XMSQL-koden.
Kontextövergång för liknande DAX-funktioner
Servertider
Detta koncept är också tillämpligt på funktionen BERÄKNA. Låt oss använda DAX-koden nedan som ett exempel.
Ett mått har automatiskt en BERÄKNA-funktion runt sig.
När du kör den här koden får du en tabell som visar det totala försäljningsbeloppet för varje färg.
På fliken Server Timings kan du se att koden kör två frågor. Den första frågan beräknar summan av försäljningsbeloppet från försäljningstabellen med avseende på tabellen produkter.
Å andra sidan hämtar den andra frågan produktfärgen igen från tabellen Produkter. Den motsvarar funktionen i DAX-koden.
Formula Engine placerar datacachen för de två frågorna sida vid sida. Den börjar med att hämta värdena från den andra datacchen och utför sedan en uppslagning i den första datacchen.
Fråga Plan
På fliken Frågeplan skannar den logiska frågeplanen produktfärgen på grund av argumentet.
Sedan summerar VertiPaq det totala försäljningsbeloppet beroende på produktfärgen. Den utför kontextövergången som omvandlar produktens färgvärde till en likvärdig filterkontext.
Filtret som skapas av kontextövergången översätts till en DependOnCols -egenskap i frågeplanen. Efter att VertiPaq har skannat de kolumner som krävs för att beräkna den totala försäljningen multiplicerar den försäljningskvantiteten med nettopriset.
Den totala försäljningen returneras sedan som ett resultat i form av en valutadatatyp. Och slutligen returnerar ADDCOLUMNS en tabell med två kolumner som innehåller färg och total försäljning.
Slutsats
Frågeplanen kan ha en betydande inverkan på en frågas prestanda, eftersom olika frågeplaner kan ha olika effektivitetsnivåer.
När du använder funktionerna CALCULATETABLE och FILTER i en DAX-fråga, kan frågeplanen skilja sig beroende på det specifika scenariot och en mängd olika faktorer, såsom det specifika formeluttrycket som används och frågemotorns möjligheter.
I allmänhet är det en bra idé att testa och jämföra prestanda för olika frågeplaner för att avgöra det mest effektiva tillvägagångssättet för ett givet scenario.
Med vänliga hälsningar,
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.
I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.
I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.
I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.
I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.
Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.