DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Deze tutorial gaat over de DAX-querystructuur en de twee engines binnen DAX Studio. U ziet het proces achter hoe uw DAX-formules resultaten opleveren. U leert ook hoe elke motor werkt in uw berekening.

Er zijn twee engines die verantwoordelijk zijn voor het produceren van gegevens: de formule-engine en de VertiPaq-opslagengine .

Inhoudsopgave

De DAX-querystructuur

Deze zelfstudie laat een diepgaande DAX-querystructuur zien over hoe DAX achter uw rapport werkt.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Elke meting die u maakt, is een query. Het werkt op een set gegevens en retourneert een antwoord. De query praat vervolgens met de SQL Server Analysis Services. Het is een aangepaste versie voor LuckyTemplates die op de achtergrond draait.

Nadat u uw query hebt geschreven, wordt deze naar de formule-engine gestuurd. Het beantwoordt alle DAX, maar niet zo efficiënt als de storage-engine.

Zodra de formule-engine de query ontvangt, vraagt ​​deze de VertiPaq-opslagengine om gegevens om aan te werken. Vervolgens haalt de opslagengine gegevens op uit de gecomprimeerde gegevenscache.

VertiPaq is efficiënt omdat het werkt op gecomprimeerde kolommen. Het kan binnen milliseconden veel rijen berekenen.

Aan het einde van het diagram ziet u de gegevensbron. Deze transactie vindt alleen plaats wanneer u een gegevensvernieuwing uitvoert.

Een ander ding dat u moet leren, is dat eenvoudige vragen kunnen worden beantwoord door de opslagengine. Anders stuurt het de gegevenscache terug naar de formule-engine om een ​​antwoord te berekenen.

Wanneer het die gegevens terugstuurt naar de formule-engine, wordt het niet langer gecomprimeerd. Het gebruikt de volledige kolommen in het geheugen. 

Dus nadat de formule-engine de gegevens heeft teruggekregen, berekent en vult deze een antwoord op de DAX-query in.

De motoren van de DAX-querystructuur

Het is belangrijk om het verschil te kennen tussen de formule-engine en de opslag-engine. Elk van hen is ontworpen voor verschillende doeleinden, zodat u uw DAX-kennis kunt toepassen en snelle en nauwkeurige vragen kunt krijgen. Dit zijn de verschillen tussen de twee motoren:

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Het pictogram van elke engine geeft aan hoe snel hun prestaties zijn. De opslag-engine is sneller dan de formule-engine omdat deze eenvoudige verzoeken afhandelt. Als uw DAX-query eenvoudig is en een  of vereist , kan de opslagengine dit allemaal zelf doen.

Aan de andere kant kan de formule-engine complexe DAX-functies aan. Houd er rekening mee dat hoe complexer uw zoekopdracht is, hoe meer formule-engines u in uw uitdrukkingen zult hebben.

De gegevens die door de twee motoren worden gebruikt, zijn ook verschillend. De formule-engine gebruikt ongecomprimeerde gegevenscache van de opslag-engine die veel geheugen en tijd in beslag neemt, terwijl de opslag-engine gecomprimeerde gegevens gebruikt .

De opslag-engine is snel omdat deze meer dan één kern tegelijk gebruikt. Het betekent dat het een multi-threaded engine is. Als uw tabellen segmenten hebben, worden deze gescand, afhankelijk van het aantal kernen dat u heeft. De formule-engine kan echter maar één kern tegelijk uitvoeren.

Een ander geweldig kenmerk van de opslagengine is dat wanneer uw metingen een antwoord opleveren, het dat antwoord in het geheugen opslaat, in tegenstelling tot de formule-engine. Als dezelfde vraag wordt gesteld, krijgt u een antwoord zonder een volledige berekening uit te voeren.

De opslag-engine is geoptimaliseerd voor snelheid, terwijl de formule-engine is geoptimaliseerd voor complexiteit.

Achter de DAX-berekening

De enige methode om het proces achter de prestaties van uw DAX te kennen, is via DAX Studio. Dit is een voorbeeldbestand in de DAX Studio.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Als u op F5 drukt en het uitvoert, krijgt u resultaten.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Schakel de Server Timings en het Query Plan in om te weten wat er gebeurt met de twee engines achter de berekening. Voer vervolgens de DAX opnieuw uit.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

Als u klaar bent, gaat u naar het tabblad Server Timings.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio

U kunt de totale uitvoeringstijd van de query, de formule-engine en de opslag-engine bekijken. U ziet ook hoeveel storage-engines er zijn uitgevoerd. De formule-engine wordt uitgevoerd door 83,3% van de hele query, terwijl de opslag-engine slechts 16,7% in beslag neemt.

Als u naar het tabblad Queryplan gaat, ziet u de fysieke queryplannen en de logische queryplannen. Dit zijn beide formulequery's over wat de formule-engine aan het doen is.

DAX-querystructuur in LuckyTemplates – twee engines en DAX Studio


DAX-berekeningen in LuckyTemplates: best practices
Optimaliseer DAX-functies met deze nieuwe cursus
Maatregel in LuckyTemplates: optimalisatietips en -technieken

Conclusie

Zowel de formule- als opslagengines spelen een grote rol bij het genereren van resultaten uit uw DAX-code. Dit zijn de belangrijkste onderdelen in de DAX-querystructuur.

Ik hoop dat u hebt geleerd hoe deze engines achter de prestaties van uw DAX werken en hoe ze uw rapport kunnen beïnvloeden.


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