Materialiseringsidéer för datacacher i DAX Studio

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:

Materialiseringsidéer för datacacher i DAX Studio

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:

Materialiseringsidéer för datacacher i DAX Studio

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.

Materialiseringsidéer för datacacher i DAX Studio

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.

Materialiseringsidéer för datacacher i DAX Studio

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.

Materialiseringsidéer för datacacher i DAX Studio

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.

Materialiseringsidéer för datacacher i DAX Studio

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.


Skapa en datumtabell i LuckyTemplates

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.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

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.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

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.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

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.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

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.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

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.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för 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.