DAX-query in LuckyTemplates - Logische en fysieke queryplannen

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

In deze zelfstudie wordt ingegaan op de twee DAX-queryplannen in LuckyTemplates.

Queryplannen zijn van invloed op de prestaties van de DAX bij het genereren van waardevolle gegevens. Ze helpen ook bij het optimaliseren van DAX-codes die uw rapport aantrekkelijker maken.

Dit zijn de twee queryplannen die worden gegenereerd door de formule-engine:

  • Logisch queryplan
  • Fysiek queryplan

Elke DAX-query activeert deze twee gebeurtenissen.

Inhoudsopgave

Logisch queryplan in LuckyTemplates

Dit is de DAX-querystroom. Concentreer u voor dit deel op de derde stap, de Simplify Logical Query Plan Tree .

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Deze query lijkt op uw DAX-query. Wanneer u een DAX-query uitvoert, komt deze meestal overeen met wat het Logical Query Plan aan het doen is.

Ter illustratie volgt hier een voorbeeldquery.

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Als je dit uitvoert, krijg je een resultaat van 29.138.

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Als u de query uitvoert in DAX Studio en het tabblad Queryplangebeurtenissen inschakelt, ziet u Queryplannen. Van de twee typen verschijnt het logische queryplan als eerste.

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Elke ingesprongen regel is een subtaak die op elkaar is gebouwd. De eerste regel is het uiteindelijke resultaat van uw DAX. De andere regels tellen op en scannen de kolom Aantal van FactSales.

Het eerste woord voor de dubbele punt wordt de operator genoemd .

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

De woorden na de dubbele punt worden de operatortypes genoemd .

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Er zijn twee typen operatortypen:

  • RelLogOp
  • ScaLogOp

RelLogOp is een tabeluitvoer. DAX gebruikt VertiPaq om een ​​kolom te scannen om een ​​tabel te produceren. Aan de andere kant is ScaLogOp een scalaire uitvoer; dit betekent dat het een geaggregeerd getal is. Als u naar de tweede en laatste regel van het queryplan kijkt, ziet u dat het optelt en de hoeveelheid van de FactSales-hoeveelheid ophaalt.

Logical Query Plans maken een tabel met één rij met de naam Total Quantity, die de som van Quantity uit de FactSales-tabel bevat.

Het queryplan is eenvoudiger te decoderen omdat het een eenvoudige DAX-query gebruikt. Hoe complexer uw DAX is, hoe moeilijker het is om te decoderen.

Een goede zaak om naar te streven is om zoveel mogelijk "_VertiPaq"-operators te zien. Dit betekent dat het al het werk zelf doet om uw DAX-codes te helpen optimaliseren.

Fysiek queryplan in LuckyTemplates

Het Physical Query Plan komt op de tweede plaats van de twee typen. Dit is de vierde stap in de DAX-querystroom. Het heeft dezelfde boomstructuur als het Logical Query Plan.

Nadat het logische queryplan is gemaakt, wordt het naar het fysieke queryplan gestuurd om te worden uitgevoerd. Als u dezelfde voorbeeldquery uitvoert, krijgt u hetzelfde antwoord.

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Concreet is de vierde stap in de DAX-querystroom het bouwen van de Physical Query Plan Tree .

DAX-query in LuckyTemplates - Logische en fysieke queryplannen

Het lijkt misschien op het Logical Query Plan, maar het is anders. Normaal gesproken is het fysieke queryplan moeilijk te matchen met de DAX-query in LuckyTemplates , maar aangezien het een eenvoudige voorbeeldquery is, kunt u het proces volgen.

Dit zijn de drie operatortypen in het Physical Query Plan:

  • Zoek opPhyOp
  • InterPhyOp
  • SpoolPhyOp

LookupPhyOp geeft scalaire waarden in een bepaalde rijcontext. De InterPhyOp itereert gegevens rij voor rij door een tabel. SpoolPhyOp ontvangt resultaten van een VertiPaq-query, realiseert deze en slaat deze op in het geheugen.

In de vierde regel van het queryplan ziet u een ProjectionSpool-operator, wat betekent dat een query naar de opslagengine wordt verzonden. Het herhaalt de resultaten van een query met het aantal records.

Het aantal records dat in het queryplan wordt weergegeven, moet het minste aantal records zijn dat nodig is om het antwoord te voltooien. Het resultaat van deze eenvoudige query heeft slechts 1 rij, dus het retourneerde 1 record in het queryplan.

De kolom Records , die overeenkomt met de SpoolPhyOp van ProjectionSpool, laat zien hoeveel gegevens er van de opslagengine naar de formule-engine worden verzonden. Dus hoe meer records u heeft, hoe langzamer uw zoekopdracht zal zijn.

Als de DAX-prestaties traag zijn, is de kolom Records een goede plaats om te beginnen met zoeken.


DAX-berekeningen in LuckyTemplates: best practices
Optimaliseer DAX-functies met deze nieuwe cursus
5 strategieën om uw LuckyTemplates DAX-vaardigheden te verbeteren

Conclusie

Wanneer u een DAX-query uitvoert, doorloopt deze een aantal stappen voordat u een antwoord krijgt. Twee van die stappen zijn de logische en fysieke queryplannen. Zij zijn verantwoordelijk voor het stapsgewijze proces en de uitvoering van de formules die in de berekening worden gebruikt.

Als u meer wilt weten over deze queryplannen en deze wilt begrijpen, doorloopt u deze zelfstudie en probeert u vervolgens DAX Studio te gebruiken om ze uit de eerste hand te bekijken.


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten