DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Den här handledningen kommer att diskutera de två DAX-frågeplanerna i LuckyTemplates.

Frågeplaner påverkar DAX:s prestanda när det gäller att generera värdefull data. De hjälper också till att optimera som gör din rapport mer övertygande.

Det här är de två frågeplanerna som genereras av formelmotorn:

  • Logisk frågeplan
  • Fysisk frågeplan

Varje DAX-fråga utlöser dessa två händelser.

Innehållsförteckning

Logisk frågeplan i LuckyTemplates

Detta är DAX-frågeflödet. För den här delen fokuserar du på det tredje steget som är Förenkla logiska frågeplansträd .

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Den här frågan liknar din DAX-fråga. När du kör en DAX-fråga matchar den mestadels vad den logiska frågeplanen gör.

För att illustrera, här är ett exempel på en fråga.

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Om du kör detta får du ett resultat på 29 138.

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Om du kör frågan i DAX Studio och aktiverar fliken Query Plan Events, kommer du över Query Plans. Bland de två typerna dyker den logiska frågeplanen upp först.

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Varje indragen rad är en deluppgift byggd på varandra. Den första raden är det slutliga resultatet av din DAX. De andra raderna summerar och skannar kolumnen FactSales Kvantitet.

Det första ordet före kolon kallas för.

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Orden efter kolon kallas operatortyper .

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Det finns två typer av operatörstyper:

  • RelLogOp
  • ScaLogOp

RelLogOp är en tabellutgång. DAX använder VertiPaq för att skanna en kolumn för att skapa en tabell. Å andra sidan är ScaLogOp en skalär utgång; detta betyder att det är ett aggregerat tal. Om du tittar på den andra och sista raden i frågeplanen ser du att den summerar och får kvantiteten av FactSales' kvantitet.

Logiska frågeplaner skapar en enradstabell som heter Total kvantitet som har summan av kvantitet från tabellen FactSales.

Frågeplanen är lättare att avkoda eftersom den använder en enkel DAX-fråga. Ju mer komplex din DAX är, desto svårare är den att avkoda.

En bra sak att sträva efter är att se många "_VertiPaq"-operatörer som möjligt. Det betyder att den gör allt arbete själv för att hjälpa till att optimera dina DAX-koder.

Fysisk frågeplan i LuckyTemplates

Den fysiska frågeplanen kommer på andra plats bland de två typerna. Detta är det fjärde steget i DAX-frågeflödet. Den har samma trädstruktur som den logiska frågeplanen.

När den logiska frågeplanen har byggts skickas den till den fysiska frågeplanen för att exekveras. Om du kör samma exempelfråga får du samma svar.

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Specifikt är det fjärde steget i DAX-frågeflödet att bygga det fysiska frågeplansträdet .

DAX-fråga i LuckyTemplates – logiska och fysiska frågeplaner

Den kan se ut som den logiska frågeplanen, men den är annorlunda. Normalt är den fysiska frågeplanen svår att matcha med DAX-frågan i men eftersom det är en enkel exempelfråga kan du följa processen.

Det här är de tre operatörstyperna i den fysiska frågeplanen:

  • LookupPhyOp
  • InterPhyOp
  • SpoolPhyOp

LookupPhyOp ger skalära värden i en given radkontext. InterPhyOp itererar data genom en tabell rad för rad . SpoolPhyOp tar emot resultat från en VertiPaq-fråga, materialiserar den och lagrar den i minnet.

På den fjärde raden i frågeplanen kan du se en ProjectionSpool-operatör vilket innebär att en fråga skickas till lagringsmotorn. Den itererar resultaten av en fråga med antalet poster.

Mängden poster som visas i frågeplanen bör vara den minsta mängd poster som krävs för att slutföra svaret. Resultatet av denna enkla fråga har bara 1 rad så det returnerade 1 post i frågeplanen.

Kolumnen Records , som motsvarar ProjectionSpools SpoolPhyOp, visar hur mycket data som skickas från lagringsmotorn till formelmotorn. Så ju fler poster du har, desto långsammare blir din fråga.

Om DAX-prestandan är långsam är kolumnen Records ett bra ställe att börja leta.




Slutsats

När du kör en DAX-fråga går den igenom en rad steg innan den ger dig ett svar. Två av dessa steg är de logiska och fysiska frågeplanerna. De ansvarar för steg-för-steg-processen och exekvering av de formler som används i beräkningen.

Om du vill lära dig och förstå mer om dessa frågeplaner, gå igenom den här handledningen och försök sedan använda för att se dem i första hand.


Hur man kommenterar i Python – En snabbguide för nybörjare

Hur man kommenterar i Python – En snabbguide för nybörjare

Hur man kommenterar i Python – En snabbguide för nybörjare

Vad är Power Query & M Language: En detaljerad översikt

Vad är Power Query & M Language: En detaljerad översikt

Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.

Skapa en paginerad rapport: Lägga till texter och bilder

Skapa en paginerad rapport: Lägga till texter och bilder

Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!

Löpande summor i LuckyTemplates med DAX

Löpande summor i LuckyTemplates med DAX

Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.

LuckyTemplates Slope Chart: En översikt

LuckyTemplates Slope Chart: En översikt

Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.

LuckyTemplates färgteman för enhetliga visualiseringar

LuckyTemplates färgteman för enhetliga visualiseringar

Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.