Utvärdera DAX-kodprestanda i DAX Studio

I den här handledningen får du lära dig hur du utvärderar en DAX-kods prestanda med alternativet Kör benchmark i .

Alternativet Kör benchmark låter dig anpassa antalet kalla och varma cachekörningar i din fråga.

Utvärdera DAX-kodprestanda i DAX Studio

När du klickar på det här alternativet öppnas Benchmark-guiden. Du kan ange hur många gånger du vill köra en fråga i kall cache eller varm cache.

Utvärdera DAX-kodprestanda i DAX Studio

Cold cache innebär att DAX Studio först kommer att rensa cachen och sedan köra frågan baserat på det angivna antalet. Å andra sidan betyder varm cache att DAX Studio inte rensar cachen innan frågan körs.

Denna handledning kommer att använda koden nedan som genererar CallbackDataID:

Utvärdera DAX-kodprestanda i DAX Studio

Innan du använder alternativet Kör benchmark, låt oss köra koden och se data.

Utvärdera DAX-kodprestanda i DAX Studio

Du kan se att koden tar 134 millisekunder att exekvera. Den innehåller också .

Innehållsförteckning

Använda alternativet Run Benchmark för DAX-kodprestanda

När du klickar på alternativet Kör benchmark och kör frågan med 5 kalla cache-körningar, ser du en förloppsindikator längst ner i benchmark-guiden. Den rensar cachen och kör sedan koden fem gånger.

Efteråt öppnas två flikar i resultatfönstret. Den första fliken, Sammanfattning , visar en tabell med information om cachetypen, dess statistik, total varaktighet och SE-varaktighet.

Genom att jämföra data mellan den kalla cachen och den varma cachen kan du se att rensning av cachen inte har någon signifikant skillnad i körtiden.

Den andra fliken, Detaljer , visar mer omfattande information om cachen för DAX-frågan.

Varierande cachelängd

Låt oss köra ett annat för att se hur det påverkar frågetimingen.

Du kan se att det bara tar 13 millisekunder att rensa cachen och exekvera koden.

Klicka sedan på alternativet Kör benchmark. Avmarkera rutan och utför 10 körningar för både den kalla och varma cachen.

Utvärdera DAX-kodprestanda i DAX Studio

I resultatrutan kan du se att det tar 12,8 millisekunder att köra i kall cache och 3,9 millisekunder att köra i varm cache.

Utvärdera DAX-kodprestanda i DAX Studio

Varaktigheten är inte mätbar i varm cache eftersom frågorna besvaras från själva datacachen.

På fliken Detaljer kan du se att det finns totalt 20 avrättningar; 10 i kallt och 10 i varmt. Den kalla varaktigheten är alltid längre än den varma varaktigheten.

Utvärdera DAX-kodprestanda i DAX Studio

Om du rullar till kolumnen längst till höger kan du se att VertiPaq-cachen innehåller 0 för kall cache och 1 för varm cache.

Jämföra DAX-kodprestanda med hjälp av grafer

För att få mer insiktsfull data kan du skapa ett linjediagram av resultaten från alternativet Benchmark. Du kan skapa en jämförelse med intervall på 10. Det vill säga att du kör benchmark med 10, 20, 30 och så vidare för både den kalla och varma cachen. Detta hjälper dig att förstå hur lång tid det tar att köra en fråga baserat på , , och .

Du kan också börja med en liten databas och successivt köra koden för en mer komplex databas. Skapa sedan ett linjediagram för att se kodens prestanda.

Detta gör det lättare att identifiera om varaktigheten ökade eller minskade med avseende på antalet rader i din DAX-fråga.

Slutsats

Det är viktigt att optimera din DAX-kods prestanda. En skillnad på 0,5 millisekunder per kodrad kanske inte betyder så mycket. Men när du har att göra med flera rader med kod som producerar en miljon rader som ett resultat, kommer dessa 0,5 ms att göra stor skillnad.

Genom att använda alternativet Kör benchmark kan du samla in tidsdata för din kod. Du kan använda detta för att göra jämförelser mellan olika kodrader. Du kan också använda detta för att få meningsfulla insikter om vilken del av din DAX-kod som behöver optimeras.


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

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.