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.

Leave a Comment

Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.