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.
Den här handledningen kommer att handla om DAX-frågestrukturen och de två motorerna i DAX Studio. Du kommer att se processen bakom hur dina DAX-formler ger resultat. Du kommer också att lära dig hur varje motor fungerar i din beräkning.
Det finns två motorer som är ansvariga för att producera data: formelmotorn och VertiPaq-lagringsmotorn .
Innehållsförteckning
DAX-frågestrukturen
Den här handledningen kommer att visa en djupgående DAX-frågestruktur om hur DAX fungerar bakom din rapport.
Varje mått du skapar är en fråga. Det fungerar på en uppsättning data och returnerar ett svar. Frågan pratar sedan med SQL Server Analysis Services. Det är en anpassad version för LuckyTemplates som körs i bakgrunden.
När du har skrivit din fråga skickas den till formelmotorn. Den svarar på all DAX men inte lika effektiv som lagringsmotorn.
När formelmotorn tar emot frågan, ber den VertiPaq-lagringsmotorn om data att arbeta med. Sedan får lagringsmotorn data från den komprimerade datacachen.
VertiPaq är effektivt eftersom det fungerar på komprimerade kolumner. Den kan beräkna många rader inom millisekunder.
I slutet av diagrammet kan du se datakällan. Denna transaktion sker bara när du gör en datauppdatering.
En annan sak du behöver lära dig är att enkla frågor kan besvaras av lagringsmotorn. Annars skickar den datacachen tillbaka till formelmotorn för att beräkna ett svar.
När den skickar tillbaka dessa data till formelmotorn är den inte längre komprimerad. Den använder hela kolumnerna i minnet.
Så efter att formelmotorn har fått tillbaka data, beräknar den och fyller i ett svar på DAX-frågan.
Motorerna i DAX-frågestrukturen
Det är viktigt att veta skillnaden mellan formelmotorn och lagringsmotorn. Var och en av dem är designad för olika ändamål så att du kan tillämpa din DAX-kunskap och få snabba och korrekta frågor. Dessa är skillnaderna mellan de två motorerna:
Ikonen för varje motor representerar hur snabba deras prestanda är. Lagringsmotorn är snabbare än formelmotorn eftersom den hanterar enkla förfrågningar. Om din DAX-fråga är enkel och kräver en , , eller, lagringsmotorn kan göra allt själv.
Å andra sidan kan formelmotorn hantera komplexa DAX-funktioner. Tänk på att ju mer komplex din fråga är, desto fler formelmotorer kommer du att ha i dina uttryck.
De data som används av de två motorerna är också olika. Formelmotorn använder okomprimerad datacache från lagringsmotorn som tar upp mycket minne och tid, medan lagringsmotorn använder komprimerad data .
Lagringsmotorn är snabb eftersom den använder mer än en kärna åt gången. Det betyder att det är en flertrådig motor. Om dina tabeller har segment, skannas dem beroende på hur många kärnor du har. Formelmotorn kan dock bara göra en kärna åt gången.
En annan stor egenskap hos lagringsmotorn är när dina mått ger ett svar, den lagrar svaret i minnet till skillnad från formelmotorn. Om samma fråga ställs ger den dig ett svar utan att köra en fullständig beräkning.
Lagringsmotorn är optimerad för hastighet, medan formelmotorn är optimerad för komplexitet.
Bakom DAX-beräkningen
Den enda metoden för att känna till processen bakom din DAX:s prestanda är genom DAX Studio. Detta är en exempelfil i DAX Studio.
Om du trycker på F5 och kör det får du resultat.
För att veta vad som händer med de två motorerna bakom beräkningen, aktivera Server Timings och Query Plan. Kör sedan DAX igen.
När du är klar, gå till fliken Server Timings.
Du kan se den totala exekveringstiden för frågan, formelmotorn och lagringsmotorn. Du kommer också att se hur många lagringsmotorer som kördes. Formelmotorn körs av 83,3 % av hela frågan, medan lagringsmotorn bara tar 16,7 %.
Om du går till fliken Frågeplan kommer du att se fysiska frågor och logiska frågor. Dessa är båda formelfrågor om vad formelmotorn gör.
Slutsats
Både formeln och lagringsmotorerna spelar en stor roll för att generera resultat från din DAX-kod. De är de viktigaste delarna i DAX-frågestrukturen.
Jag hoppas att du har lärt dig hur dessa motorer fungerar bakom prestandan för din DAX och hur de kan påverka din rapport.
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.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
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.
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.
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.
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.
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.
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.