Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
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:
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 .
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.
Als je dit uitvoert, krijg je een resultaat van 29.138.
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.
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 .
De woorden na de dubbele punt worden de operatortypes genoemd .
Er zijn twee typen operatortypen:
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.
Concreet is de vierde stap in de DAX-querystroom het bouwen van de Physical Query Plan Tree .
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:
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
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.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
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.
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.
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.
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.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
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