Ydelsesproblem i DAX Studio: CallBackDataID

Denne vejledning vil diskutere CallBackDataID , som er et ydeevneproblem i DAX Studio. Du lærer, hvad det gør, og hvordan det påvirker ydeevnen af ​​din DAX-forespørgsel.

Lagermotoren arbejder med at levere data til formelmotoren i form af en datacache. Men når lagermotoren ikke er i stand til at evaluere et udtryk, spørger den og kalder formelmotoren tilbage for at få hjælp til at bruge CallBackDataID .

At have et CallBackDataID i din beregning sænker ydeevnen af ​​DAX, fordi den bruger både lager- og formelmotoren. Det er dog stadig bedre end kun at have formelmotoren til at udføre alt arbejdet, fordi den stadig udfører på komprimerede data og ikke kræver materialisering.

Når formelmotoren er involveret, cachelagres resultaterne heller ikke. Caches forbedrer brugeroplevelsen ved at køre en forespørgsel eller måling i LuckyTemplates.

Indholdsfortegnelse

Hvor finder jeg CallBackDataID

CallBackDataID kan findes i Server Timings inde i DAX Studio. På grund af deres betydning er de fremhævet i xmSQL-sætningen. Når du ønsker at optimere din DAX, er det bedste sted at starte at finde CallBackDataID'et .

En anden optimeringsteknik er at udnytte filtrene indnår det er muligt. Det er bedre at bruge CALCULATE i filtrene end at brugesom et bord. FILTER er en iterator, og når du filtrerer en tabel, vil den blive itereret af. Tilstedeværelsen af ​​disse to iteratorer kan gøre din forespørgsel langsommere.

Her er to eksempler på forespørgsler med og uden CallBackDataID .

Ydelsesproblem i DAX Studio: CallBackDataID

Dette er et lokaliseret mål, der definerer de to forespørgsler ovenfor.

Ydelsesproblem i DAX Studio: CallBackDataID

Det øverste mål gentager salgstabellen, multiplicerer den aktuelle pris og mængde og summerer det derefter op. Det nederste mål kontrollerer, om købsdatoen er større end eller lig med 31. marts 2016. At have en funktion i et mål opretter et CallBackDataID , fordi det ikke bruger CALCULATE .

For at teste dette skal du køre forespørgslen, der har CallBackDataID . Sørg for at rydde cachen og slå Server Timings og Query Plans til, før du kører det.

Hvis du klikker på fanen Server Timings nederst, kan du se, at den første scanning er fremhævet. Dette er på grund af tilstedeværelsen af ​​CallBackDataID .

Ydelsesproblem i DAX Studio: CallBackDataID

Du kan også se CallBackDataID'et i xmSQL-sætningen. IF - funktionen i målingen er uden for lagermotorens muligheder, så den beder om hjælp fra formelmotoren.

Ydelsesproblem i DAX Studio: CallBackDataID

Sådan løses præstationsproblemet

Hvis du kører forespørgslen, der ikke har et CallBackDataID , kan du se, at scanningerne ikke længere er fremhævet.

Ydelsesproblem i DAX Studio: CallBackDataID

Dette skyldes, at CALCUATE- filteret bliver skubbet ned til lagermotoren. Det behøver ikke hjælp fra formelmotoren længere, fordi det kan fungere af sig selv.

Prøv så vidt muligt at bruge filtre i CALCUATE . Det optimerer DAX-ydelsen ved at skubbe det meste af arbejdet ind i storage-motoren, hvilket gør det hurtigere.




Konklusion

Ydeevnehits kan opstå, hvis din forespørgsel er for kompleks til, at storage-motoren kan fungere. Det bringer unødvendige processer som CallBackDataID i beregningen og sinker din DAX. Du kan afbøde det ved at bruge filtre i CALCULATE .

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.