GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Denna handledning kommer att diskutera lagringsmotorn och underförstådda GroupBy i LuckyTemplates. Du kommer att lära dig vad som händer bakom föreställningen och se potentiella flaskhalsar. Detta gör att du kan skapa idéer och strategier för att mildra dessa problem för snabbare DAX-prestanda.

Lagringsmotorfrågorna uttrycks i ett språk som kallas xmSQL. Det är inte ett riktigt programmeringsspråk utan en visuell representation av vad lagringsmotorn gör. Det låter användarna se vad beräkningen gör i bakgrunden när de kör olika frågor.

Innehållsförteckning

Underförstått GroupBy i LuckyTemplates

Det första du behöver titta på är den underförstådda GroupBy som finns i varje xmSQL.

Det här är en exempelfråga som har funktionen EVALUATE and VALUES:

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Frågan hämtar alla värden för året från DimCalendar-tabellen. Du kan se att det returnerade 10 rader med data.

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Processen visas i SQL-satsen där frågan väljer kalenderår från DimCalendar och sedan grupperar det efter år. Satsen antydde en GroupBy-funktion i beräkningen eftersom det inte finns något annat i frågan. Implied GroupBy är tydligare när du använder aggregationer.

Aggregeringar inuti lagringsmotor

För att få en uppfattning om vad aggregering är, gå till DAX Studio och aktivera Server Timings and Query Plan. Kör sedan detta exempelmått:

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

När du har kört frågan kan du se att till skillnad från den tidigare exempelfrågan som har en genomsökning, har detta mått två. Detta beror på att det första provet bara har värdena för DimCalendar Year. Denna exempelfråga har kalenderår och en aggregering.

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Den första skanningen är den faktiska frågan.

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Den väljer DimCalendar Year och summerar försäljningskvantiteten från tabellen Försäljningsdata, som följer datamodellens relationer.

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

I datamodellen följer DimCalendar-tabellen kolumnen Inköpsdatum i faktatabellen till kolumnen Datum i kalendertabellen.

Den andra skanningen säkerställer att alla saknade värden tas med i beräkningen.

Du kan se i resultaten att försäljningsbeloppet endast visas från 2015 till 2018. Det visar dock fortfarande åren 2012 till 2014 även om de är tomma.

GroupBy i LuckyTemplates: En underförstådd funktion i VertiPaq

Slutsats

Lagringsmotorn i DAX Studio visar dig hela processen bakom en beräkning. Det låter dig övervaka varje funktion och se möjliga träffar som kan bromsa prestandan för din DAX. Med sådan information kan du skapa lösningar för att mildra potentiella flaskhalsar i exekveringen av din DAX-kod.

Om din DAX går långsamt, titta på lagringsmotorn och ta reda på vad du kan göra för att förbättra resultatet för din rapport.












Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.