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.
Denna handledning kommer att diskutera materialisering för datacachar i DAX Studio. Det här inlägget kommer att visa hur det påverkar din beräkning samtidigt som det genererar resultat med din fråga. Du kommer att lära dig vilken materialisering som är bättre för att maximera DAX:s prestanda.
Det finns två idéer om materialisering: tidig materialisering och sen materialisering .
Innehållsförteckning
Tidig materialisering
Tidig materialisering är när antalet materialiserade rader är större än antalet rader som behövs för utdata.
Om din produktion är en tabell per kalenderår och du har fem års data, är det onödigt att ta med många materialiserade rader. Den bästa praxisen är att ha antalet materialiserade rader lika med antalet rader som behövs. Men det är inte alltid fallet eftersom det beror på komplexiteten i dittoch datainställning.
Kom alltid ihåg att data består av kolumner. Så när formelmotorn behöver arbeta på en tabell, sammanförs kolumner igen i ett tabellformat, vilket är materialiseringen. I en idé om tidig materialisering skickar lagringsmotorn datacache till formelmotorn. Formelmotorn arbetar sedan på den cachen och utför komplexa processer.
Tidig materialisering kan orsakas av att du har komplexa kopplingar eller en många-till-många-relation i dina datamodeller. Det kan också orsakas av att ha komplexa filter eller iteratorer.
Det är inte fel att ha komplexa åtgärder; du måste bara ställa in dem korrekt för att utnyttja lagringsmotorn så mycket som möjligt.
Sen materialisering
Sen materialisering är när du har antalet materialiserade rader lika med eller nära antalet rader som behövs för din produktion.
Lagringsmotorn gör nästan allt arbete och lämnar ingenting till formelmotorn. Detta gör hela beräkningen snabbare.
Det här är exempel på frågor om tidig och sen materialisering:
Innan du kör dessa frågor, se till att rensa cachen. Detta kommer att få dina frågor att köras mot den kalla cachen. Om du kör din DAX utan att rensa cacheminnet får du det här resultatet:
Den totala exekveringstiden är bara 1861 millisekunder eftersom den redan använde en cache. Så rensa alltid din cache innan du kör dina frågor.
Om du kör frågan om tidig materialisering kan du se att den totala tiden det tog är 9485 millisekunder. Den genererade en datacache och en enradsutgång men returnerade 25 miljoner rader.
Du behöver inte materialisera 25 miljoner rader för att få ett enradsresultat eftersom det tar tid och saktar ner DAX:s prestanda.
Om du kör sökfrågan Late Materialization kan du se att hela beräkningen bara tog 1340 millisekunder. Det genererade också 2 datacacher, med vardera 5003 rader.
Om du tittar på den fysiska frågeplanen kan du se 5000 rader. De har inte lika många rader. Serverns resultat kommer ibland att ha en liten avvikelse till det exakta antalet rader i frågeplanen.
Så från att arbeta på en datacache med 25 miljoner rader har du nu två datacache med 5003 rader. Det är därför som arbete med Later Materialization får snabbare resultat än Early Materialization.
Inuti varje materialiseringsfråga
Genom att bara titta på frågan kan du redan se att den senare materialiseringen är snabbare. Frågan om tidig materialisering räknar raderna i en sammanfattad tabell.
Tabellen som sammanfattas och materialiseras är större än att bara göra enav på bordet, vilket är vad Late Materialization-frågan gör.
Om din fråga är långsam, börja med att titta på hur många rader som dras i din fråga och hur många som behövs för utdata. Du kan också gå till den logiska frågeplanen och följa flödet av arbete som sker inom beräkningen.
Slutsats
Materialisering sker när dina frågor drar kolumner eller rader från din datamodell. Denna process sker naturligt när din motor får data från din datamodell för att ge resultat för din fråga.
Däremot kan problem uppstå om din DAX drar för många rader än vad som behövs för resultatet. Det här problemet kan lösas genom att förenkla din DAX för att utföra specifika processer.
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.