DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Denne vejledning vil handle om DAX-forespørgselsstrukturen og de to motorer inde i DAX Studio. Du vil se processen bag, hvordan dine DAX-formler giver resultater. Du vil også lære, hvordan hver motor fungerer i din beregning.

Der er to motorer, der er ansvarlige for at producere data: formelmotoren og VertiPaq-lagringsmotoren .

Indholdsfortegnelse

DAX-forespørgselsstrukturen

Denne vejledning viser en dybdegående DAX-forespørgselsstruktur om, hvordan DAX fungerer bag din rapport.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Hvert mål, du opretter, er en forespørgsel. Det fungerer på et sæt data og returnerer et svar. Forespørgslen taler derefter til SQL Server Analysis Services. Det er en tilpasset version til LuckyTemplates, der kører i baggrunden.

Når du har skrevet din forespørgsel, sendes den til formelmotoren. Den besvarer alle DAX, men ikke så effektiv som lagermotoren.

Når formelmotoren modtager forespørgslen, beder den VertiPaq-lagringsmaskinen om data at arbejde på. Derefter får lagermotoren data fra den komprimerede datacache.

VertiPaq er effektiv, fordi den virker på komprimerede kolonner. Den kan beregne mange rækker inden for millisekunder.

I slutningen af ​​diagrammet kan du se datakilden. Denne transaktion finder kun sted, når du foretager en dataopdatering.

En anden ting, du skal lære, er, at simple forespørgsler kan besvares af storage-motoren. Ellers sender den datacachen tilbage til formelmotoren for at beregne et svar.

Når den sender disse data tilbage til formelmotoren, er de ikke længere komprimeret. Den bruger de fulde kolonner i hukommelsen. 

Så efter at formelmotoren har fået dataene tilbage, beregner og udfylder den et svar på DAX-forespørgslen.

Motorerne i DAX-forespørgselsstrukturen

Det er vigtigt at kende forskellen mellem formelmotoren og lagermotoren. Hver af dem er designet til forskellige formål, så du kan anvende din DAX-viden og få hurtige og præcise forespørgsler. Dette er forskellene mellem de to motorer:

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Ikonet for hver motor repræsenterer, hvor hurtig deres ydeevne er. Lagermotoren er hurtigere end formelmotoren, fordi den håndterer simple anmodninger. Hvis din DAX-forespørgsel er enkel og kræver en , eller, kan lagringsmotoren klare det hele af sig selv.

På den anden side kan formelmotoren håndtere komplekse DAX-funktioner. Husk, at jo mere kompleks din forespørgsel er, jo flere formelmotorer har du i dine udtryk.

De data, der bruges af de to motorer, er også forskellige. Formelmotoren bruger ukomprimeret datacache fra lagermotoren, som optager meget hukommelse og tid, mens lagermotoren bruger komprimerede data .

Lagermotoren er hurtig, fordi den bruger mere end én kerne ad gangen. Det betyder, at det er en flertrådet motor. Hvis dine tabeller har segmenter, scanner den dem afhængigt af hvor mange kerner du har. Formelmotoren kan dog kun lave én kerne ad gangen.

En anden stor egenskab ved lagermotoren er, at når dine mål producerer et svar, gemmer den svaret i hukommelsen i modsætning til formelmotoren. Hvis det samme spørgsmål stilles, giver det dig et svar uden at køre en fuld beregning.

Lagermotoren er optimeret til hastighed, mens formelmotoren er optimeret til kompleksitet.

Bag DAX-beregningen

Den eneste metode til at kende processen bag din DAX's ydeevne er gennem DAX Studio. Dette er en eksempelfil i DAX Studio.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Hvis du trykker på F5 og kører det, får du resultater.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

For at vide, hvad der sker med de to motorer bag beregningen, skal du aktivere Server Timings og Query Plan. Kør derefter DAX igen.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Når du er færdig, skal du gå til fanen Server Timings.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio

Du kan se den samlede udførelsestid for forespørgslen, formelmotoren og lagermotoren. Du kan også se, hvor mange lagermotorer, der blev kørt. Formelmotoren køres af 83,3 % af hele forespørgslen, mens storagemotoren kun tager 16,7 %.

Hvis du går til fanen Forespørgselsplan, vil du se fysisk forespørgsel og logiske forespørgselsplaner. Disse er begge formelforespørgsler om, hvad formelmotoren laver.

DAX-forespørgselsstruktur i LuckyTemplates – To motorer & DAX Studio




Konklusion

Både formel- og lagermotorerne spiller en stor rolle i at generere resultater fra din DAX-kode. De er de vigtigste dele i DAX-forespørgselsstrukturen.

Jeg håber, du har lært, hvordan disse motorer fungerer bag ydeevnen af ​​din DAX, og hvordan de kan påvirke din rapport.


Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.