DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Denne opplæringen vil diskutere de to DAX-spørringsplanene i LuckyTemplates.

Spørringsplaner påvirker DAXs ytelse når det gjelder å generere verdifulle data. De hjelper også med å optimalisere som gjør rapporten din mer overbevisende.

Dette er de to spørringsplanene som genereres av formelmotoren:

  • Logisk spørreplan
  • Fysisk spørreplan

Hver DAX-spørring utløser disse to hendelsene.

Innholdsfortegnelse

Logisk spørreplan i LuckyTemplates

Dette er DAX-spørringsflyten. For denne delen fokuserer du på det tredje trinnet som er Forenkle logiske spørringsplantre .

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Denne spørringen ligner DAX-søket ditt. Når du kjører en DAX-spørring, samsvarer den stort sett med hva den logiske spørringsplanen gjør.

For å illustrere, her er et eksempelspørsmål.

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Hvis du kjører dette, vil du få et resultat på 29.138.

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Hvis du kjører spørringen i DAX Studio og slår på fanen Query Plan Events, kommer du over Query Plans. Blant de to typene vises den logiske spørreplanen først.

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Hver innrykket linje er en deloppgave bygget på hverandre. Den første linjen er det endelige resultatet av din DAX. De andre linjene summerer og skanner FactSales 'Quantity-kolonnen.

Det første ordet før kolon kalles.

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Ordene etter kolon kalles operatortypene .

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Det finnes to typer operatørtyper:

  • RelLogOp
  • ScaLogOp

RelLogOp er en tabellutgang. DAX bruker VertiPaq til å skanne en kolonne for å produsere en tabell. På den annen side er ScaLogOp en skalær utgang; dette betyr at det er et aggregert tall. Hvis du ser på den andre og siste linjen i spørringsplanen, vil du se at den summerer og får mengden av FactSales' Quantity.

Logiske spørreplaner oppretter en enradstabell kalt Totalt kvantitet som har summen av kvantitet fra faktasalgstabellen.

Spørringsplanen er lettere å dekode siden den bruker en enkel DAX-spørring. Jo mer kompleks din DAX er, desto vanskeligere er den å dekode.

En god ting å strebe etter er å se mange "_VertiPaq"-operatører som mulig. Dette betyr at den gjør alt arbeidet selv for å hjelpe med å optimalisere DAX-kodene dine.

Fysisk spørreplan i LuckyTemplates

Den fysiske spørreplanen kommer på andreplass blant de to typene. Dette er det fjerde trinnet i DAX-spørringsflyten. Den har samme trestruktur som den logiske spørreplanen.

Når den logiske spørreplanen er bygget, sendes den til den fysiske spørringsplanen for å bli utført. Hvis du kjører det samme eksempelsøket, får du det samme svaret.

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Nærmere bestemt er det fjerde trinnet i DAX-spørringsflyten å bygge det fysiske spørreplantreet .

DAX-spørring i LuckyTemplates – logiske og fysiske spørringsplaner

Den kan se ut som den logiske spørreplanen, men den er annerledes. Normalt er den fysiske spørringsplanen vanskelig å matche med DAX-søkingen i, men siden det er et enkelt eksempelsøk, kan du følge prosessen.

Dette er de tre operatørtypene i den fysiske spørreplanen:

  • LookupPhyOp
  • InterPhyOp
  • SpoolPhyOp

LookupPhyOp gir skalarverdier i en gitt radkontekst. InterPhyOp itererer data gjennom en tabell rad for rad. SpoolPhyOp mottar resultater fra en VertiPaq-spørring, materialiserer den og lagrer den i minnet.

I den fjerde linjen i spørringsplanen kan du se en ProjectionSpool-operatør som betyr at en spørring sendes til lagringsmotoren. Den gjentar resultatene av en spørring med antall poster.

Mengden poster som vises i spørringsplanen skal være den minste mengden poster som kreves for å fullføre svaret. Resultatet av denne enkle spørringen har bare 1 rad, så det returnerte 1 post i spørringsplanen.

Kolonnen Records , som tilsvarer ProjectionSpools SpoolPhyOp, viser hvor mye data som sendes fra lagringsmotoren til formelmotoren. Så jo flere poster du har, desto tregere vil søket ditt være.

Hvis DAX-ytelsen er treg, er kolonnen Records et godt sted å begynne å lete.




Konklusjon

Når du kjører en DAX Query, går den gjennom en rekke trinn før den gir deg svar. To av disse trinnene er de logiske og fysiske spørringsplanene. De er ansvarlige for trinn-for-trinn-prosessen og utførelse av formlene som brukes i beregningen.

Hvis du vil lære og forstå mer om disse søkeplanene, kan du gå gjennom denne opplæringen og deretter prøve å bruke for å se dem første hånd.


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.