DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Denne vejledning vil diskutere de to DAX-forespørgselsplaner i LuckyTemplates.

Forespørgselsplaner påvirker DAX'ens ydeevne med hensyn til at generere værdifulde data. De hjælper også med at optimere, hvilket gør din rapport mere overbevisende.

Disse er de to forespørgselsplaner, der genereres af formelmotoren:

  • Logisk forespørgselsplan
  • Fysisk forespørgselsplan

Hver DAX-forespørgsel udløser disse to hændelser.

Indholdsfortegnelse

Logisk forespørgselsplan i LuckyTemplates

Dette er DAX-forespørgselsflowet. For denne del skal du fokusere på det tredje trin, som er Simplify Logical Query Plan Tree .

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Denne forespørgsel ligner din DAX-forespørgsel. Når du kører en DAX-forespørgsel, matcher den for det meste, hvad den logiske forespørgselsplan gør.

For at illustrere er her et eksempel på en forespørgsel.

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Hvis du kører dette, får du et resultat på 29.138.

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Hvis du kører forespørgslen i DAX Studio og slår fanen Forespørgselsplanhændelser til, vil du støde på forespørgselsplanerne. Blandt de to typer dukker den logiske forespørgselsplan op først.

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Hver indrykket linje er en underopgave bygget på hinanden. Den første linje er det endelige resultat af din DAX. De andre linjer summerer og scanner kolonnen FactSales' Antal.

Det første ord før tyktarmen kaldes.

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Ordene efter kolon kaldes operatortyperne .

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Der er to typer operatørtyper:

  • RelLogOp
  • ScaLogOp

RelLogOp er et tabeloutput. DAX bruger VertiPaq til at scanne en kolonne for at producere en tabel. På den anden side er ScaLogOp et skalært output; det betyder, at det er et aggregeret tal. Hvis du ser på anden og sidste linje i forespørgselsplanen, vil du se, at den summerer og får mængden af ​​FactSales' Quantity.

Logiske forespørgselsplaner opretter en en-rækket tabel kaldet Total Quantity, som har summen af ​​Quantity fra FactSales-tabellen.

Forespørgselsplanen er lettere at afkode, da den bruger en simpel DAX-forespørgsel. Jo mere kompleks din DAX er, jo sværere er den at afkode.

En god ting at stræbe efter er at se mange "_VertiPaq"-operatører som muligt. Det betyder, at den gør alt arbejdet af sig selv for at hjælpe med at optimere dine DAX-koder.

Fysisk forespørgselsplan i LuckyTemplates

Den fysiske forespørgselsplan er nummer to blandt de to typer. Dette er det fjerde trin i DAX-forespørgselsflowet. Den har samme træstruktur som den logiske forespørgselsplan.

Når den logiske forespørgselsplan er bygget, sendes den til den fysiske forespørgselsplan for at blive udført. Hvis du kører den samme prøveforespørgsel, får du det samme svar.

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Specifikt er det fjerde trin i DAX-forespørgselsflowet at bygge det fysiske forespørgselsplantræ .

DAX-forespørgsel i LuckyTemplates – logiske og fysiske forespørgselsplaner

Det kan ligne den logiske forespørgselsplan, men det er anderledes. Normalt er den fysiske forespørgselsplan svær at matche med DAX-forespørgslen i, men da det er en simpel prøveforespørgsel, kan du følge processen.

Disse er de tre operatørtyper i den fysiske forespørgselsplan:

  • LookupPhyOp
  • InterPhyOp
  • SpoolPhyOp

LookupPhyOp giver skalære værdier i en given rækkekontekst. InterPhyOp itererer data gennem en tabel række for række. SpoolPhyOp modtager resultater fra en VertiPaq-forespørgsel, materialiserer den og gemmer den i hukommelsen.

I den fjerde linje i forespørgselsplanen kan du se en ProjectionSpool-operatør, hvilket betyder, at en forespørgsel sendes til storage-motoren. Den gentager resultaterne af en forespørgsel med antallet af poster.

Mængden af ​​poster vist i forespørgselsplanen skal være den mindste mængde poster, der kræves for at fuldføre svaret. Resultatet af denne simple forespørgsel har kun 1 række, så det returnerede 1 post i forespørgselsplanen.

Kolonnen Records , som svarer til ProjectionSpoolens SpoolPhyOp, viser, hvor meget data der sendes fra lagermotoren til formelmotoren. Så jo flere poster du har, jo langsommere vil din forespørgsel være.

Hvis DAX-ydelsen er langsom, er kolonnen Records et godt sted at begynde at lede.




Konklusion

Når du kører en DAX-forespørgsel, gennemgår den en række trin, før den giver dig et svar. To af disse trin er de logiske og fysiske forespørgselsplaner. De er ansvarlige for den trinvise proces og udførelse af de formler, der bruges i beregningen.

Hvis du vil lære og forstå mere om disse forespørgselsplaner, skal du gennemgå denne vejledning og derefter prøve at bruge for at se dem på første hånd.


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.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.