DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

Den här handledningen kommer att handla om DAX-frågestrukturen och de två motorerna i DAX Studio. Du kommer att se processen bakom hur dina DAX-formler ger resultat. Du kommer också att lära dig hur varje motor fungerar i din beräkning.

Det finns två motorer som är ansvariga för att producera data: formelmotorn och VertiPaq-lagringsmotorn .

Innehållsförteckning

DAX-frågestrukturen

Den här handledningen kommer att visa en djupgående DAX-frågestruktur om hur DAX fungerar bakom din rapport.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

Varje mått du skapar är en fråga. Det fungerar på en uppsättning data och returnerar ett svar. Frågan pratar sedan med SQL Server Analysis Services. Det är en anpassad version för LuckyTemplates som körs i bakgrunden.

När du har skrivit din fråga skickas den till formelmotorn. Den svarar på all DAX men inte lika effektiv som lagringsmotorn.

När formelmotorn tar emot frågan, ber den VertiPaq-lagringsmotorn om data att arbeta med. Sedan får lagringsmotorn data från den komprimerade datacachen.

VertiPaq är effektivt eftersom det fungerar på komprimerade kolumner. Den kan beräkna många rader inom millisekunder.

I slutet av diagrammet kan du se datakällan. Denna transaktion sker bara när du gör en datauppdatering.

En annan sak du behöver lära dig är att enkla frågor kan besvaras av lagringsmotorn. Annars skickar den datacachen tillbaka till formelmotorn för att beräkna ett svar.

När den skickar tillbaka dessa data till formelmotorn är den inte längre komprimerad. Den använder hela kolumnerna i minnet. 

Så efter att formelmotorn har fått tillbaka data, beräknar den och fyller i ett svar på DAX-frågan.

Motorerna i DAX-frågestrukturen

Det är viktigt att veta skillnaden mellan formelmotorn och lagringsmotorn. Var och en av dem är designad för olika ändamål så att du kan tillämpa din DAX-kunskap och få snabba och korrekta frågor. Dessa är skillnaderna mellan de två motorerna:

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

Ikonen för varje motor representerar hur snabba deras prestanda är. Lagringsmotorn är snabbare än formelmotorn eftersom den hanterar enkla förfrågningar. Om din DAX-fråga är enkel och kräver en , eller, lagringsmotorn kan göra allt själv.

Å andra sidan kan formelmotorn hantera komplexa DAX-funktioner. Tänk på att ju mer komplex din fråga är, desto fler formelmotorer kommer du att ha i dina uttryck.

De data som används av de två motorerna är också olika. Formelmotorn använder okomprimerad datacache från lagringsmotorn som tar upp mycket minne och tid, medan lagringsmotorn använder komprimerad data .

Lagringsmotorn är snabb eftersom den använder mer än en kärna åt gången. Det betyder att det är en flertrådig motor. Om dina tabeller har segment, skannas dem beroende på hur många kärnor du har. Formelmotorn kan dock bara göra en kärna åt gången.

En annan stor egenskap hos lagringsmotorn är när dina mått ger ett svar, den lagrar svaret i minnet till skillnad från formelmotorn. Om samma fråga ställs ger den dig ett svar utan att köra en fullständig beräkning.

Lagringsmotorn är optimerad för hastighet, medan formelmotorn är optimerad för komplexitet.

Bakom DAX-beräkningen

Den enda metoden för att känna till processen bakom din DAX:s prestanda är genom DAX Studio. Detta är en exempelfil i DAX Studio.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

Om du trycker på F5 och kör det får du resultat.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

För att veta vad som händer med de två motorerna bakom beräkningen, aktivera Server Timings och Query Plan. Kör sedan DAX igen.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

När du är klar, gå till fliken Server Timings.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio

Du kan se den totala exekveringstiden för frågan, formelmotorn och lagringsmotorn. Du kommer också att se hur många lagringsmotorer som kördes. Formelmotorn körs av 83,3 % av hela frågan, medan lagringsmotorn bara tar 16,7 %.

Om du går till fliken Frågeplan kommer du att se fysiska frågor och logiska frågor. Dessa är båda formelfrågor om vad formelmotorn gör.

DAX-frågestruktur i LuckyTemplates – Två motorer & DAX Studio




Slutsats

Både formeln och lagringsmotorerna spelar en stor roll för att generera resultat från din DAX-kod. De är de viktigaste delarna i DAX-frågestrukturen.

Jag hoppas att du har lärt dig hur dessa motorer fungerar bakom prestandan för din DAX och hur de kan påverka din rapport.


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.