Vad är Power Query & M Language: En detaljerad översikt
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
I den här handledningen får du lära dig vad en datacache är och varför den är viktig. En datacache lagrar databitar som kan bli värdefulla för framtida användning.
Om du behöver samma information i en framtida åtgärd eller åtgärd kommer datacchen att tillhandahålla den information du behöver. Det eliminerar att systemet återhämtar samma uppsättningar data.
I den här handledningen går du igenom åtta viktiga saker att komma ihåg när du hanterar datacache i LuckyTemplates:
Innehållsförteckning
Definition och syfte med en datacache
En datacache är en temporär tabell skapad i minnet av . Denna temporära tabell skickas till formelmotorn som sedan itererar över denna information och utför olika operationer efter frågan.
All kommunikation mellan och lagringsmotorn sker alltid i form av en datacache. Formelmotorn förbereder frågeplanerna och skickar sedan instruktionerna till lagringsmotorn. Lagringsmotorn skickar sedan tillbaka det till formelmotorn som returnerar resultatet till användaren.
Eftersom formelmotorn inte har direkt åtkomst till data som lagras i DirectQuery och VertiPaq, förlitar den sig på lagringsmotorn för datacacharna.
Datacachen som skickas av lagringsmotorn är i ett okomprimerat format. Detta innebär att storleken på data som lagras i Vertipaq-verktyget kan minskas.
Men när det är dags att returnera datacachen tillbaka till formelmotorn kan den inte komprimeras eftersom formelmotorn inte fungerar med komprimerade datamängder.
Vad är en datacaches inverkan på RAM-minnet
Om lagringsmotorn skickar enorma bitar av datacchar kommer detta att ta mycket utrymme på programvarans RAM. Det kommer också att ta en betydande mängd tid för formelmotorn att utföra iterationer och producera ett resultat.
Så när du skriver din DAX-kod måste du förstå att den ska skrivas på ett sätt som minimerar raderna i datacachen.
Det bästa scenariot skulle vara att matcha antalet rader som visas i visualiseringen med antalet rader som returneras i datacchen.
För det mesta är det svårt att returnera samma antal rader. Om detta händer måste du granska din DAX-kod och dela upp den på ett sätt som optimerar datacachen som produceras av lagringsmotorn.
Hur en datacache optimerar frågor
Ooptimerade funktioner
Vissa av funktionerna i DAX-språket är inte optimerade för lagringsmotorn. För att bättre förstå detta, låt oss titta på ett exempel.
Till exempel, i din kod, istället för att använda SUMMARIZE, kan du använda funktionen. SUMMARIZE och GROUPBY-funktionerna utför samma operation. Det finns dock betydande skillnader beroende på scenariot.
GROUPBY-funktionen är inte optimerad för Storage Engine. Om du använder GROUPBY-funktionen på en faktatabell med 12 miljoner rader kommer den att producera en datacache med samma antal rader. Detta kan vara så stort som 600mb upp till 1gb.
Denna storlek kan sätta mycket press på ditt RAM-minne. Så istället för att använda GROUPBY, använd . SUMMARIZE-funktionen resulterar i en mindre datacachestorlek. Du kan para ihop den med GROUPBY som en toppnivåfunktion.
Minskade upprepningar
När du skriver dina DAX-mått eller frågor måste du se till att koden som produceras bakom kulisserna är lämplig för lagringsmotorn.
Du måste skriva din DAX-kod på ett sätt som producerar datacache som även kan användas i efterföljande frågor. Fördelen med att göra detta är att istället för att utföra en separat skanning med , kommer lagringsmotorn att kontrollera om en liknande fråga redan har tagits emot.
Om detta är sant betyder det att dess datacache är tillgängligt i minnet. Så istället för att skanna frågan igen, kommer VertiPaq helt enkelt att returnera den från cacheminnet till formelmotorn.
Om du ser en fråga i din lagringsmotor, betyder det att dessa frågor inte kan cachelagras. Om en liknande fråga skickas till lagringsmotorn kommer den att utföra en upprepning.
Därför måste VertiPaq anropa formelmotorn för att lösa frågan. Detta ökar den totala exekveringstiden eftersom cacheminnet inte kan användas i det här fallet.
Slutsats
Datacachen är din bästa vän på DAX-språket. Kom ihåg att skriva din DAX-kod på ett sätt som maximerar lagringsutrymmet och minskar VertiPaq-verktygets antal iterationer. Du kan återanvända datacachen som redan producerats av Storage Engine för att minska exekveringstiden för frågor.
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.
Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.