DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Denne opplæringen vil diskutere materialisering for databuffere i DAX Studio. Dette innlegget vil vise hvordan det påvirker beregningen din mens du genererer resultater med søket ditt. Du vil lære hvilken materialisering som er bedre for å maksimere DAXs ytelse.
Det er to ideer om materialisering: tidlig materialisering og sen materialisering .
Innholdsfortegnelse
Tidlig materialisering
Tidlig materialisering er når antall materialiserte rader er større enn antall rader som trengs for utdata.
Hvis produksjonen din er en tabell etter kalenderår og du har fem år med data, er det unødvendig å ta med mange materialiserte rader. Den beste praksisen er å ha antall materialiserte rader lik antallet rader som trengs. Det er imidlertid ikke alltid tilfelle fordi det avhenger av kompleksiteten til dinog dataoppsett.
Husk alltid at data består av kolonner. Så når formelmotoren må jobbe på en tabell, bringes kolonner sammen igjen i et tabellformat, som er materialiseringen. I en tidlig materialiseringside sender lagringsmotoren databuffer til formelmotoren. Formelmotoren jobber deretter på cachen og utfører komplekse prosesser.
Tidlig materialisering kan være forårsaket av å ha komplekse sammenføyninger eller et mange-til-mange forhold i datamodellene dine. Det kan også være forårsaket av komplekse filtre eller iteratorer.
Det er ikke feil å ha komplekse tiltak; du må bare sette dem opp riktig for å utnytte lagringsmotoren så mye som mulig.
Sen materialisering
Sen materialisering er når du har antall materialiserte rader lik eller nær antall rader som trengs for utskriften.
Lagringsmotoren gjør nesten alt arbeidet og etterlater ingenting til formelmotoren. Dette gjør hele beregningen raskere.
Dette er eksempler på spørsmål om tidlig og sen materialisering:
Før du kjører disse spørringene, sørg for å tømme hurtigbufferen. Dette vil få spørringene dine til å kjøre mot den kalde cachen. Hvis du kjører DAX uten å tømme hurtigbufferen, får du dette resultatet:
Den totale utførelsestiden er bare 1861 millisekunder fordi den allerede brukte en cache. Så tøm alltid bufferen før du kjører spørringene dine.
Hvis du kjører Early Materialization-spørringen, kan du se at den totale tiden det tok er 9485 millisekunder. Den genererte én databuffer og en utgang på én rad, men returnerte 25 millioner rader.
Du trenger ikke materialisere 25 millioner rader for å få et resultat på én rad fordi det tar tid og bremser DAXs ytelse.
Hvis du kjører Late Materialization-spørringen, kan du se at hele beregningen bare tok 1340 millisekunder. Den genererte også 2 databuffere, hvor hver returnerte 5003 rader.
Hvis du ser på den fysiske spørreplanen, kan du se 5000 rader. De har ikke like mange rader. Resultatet til servertimingene vil noen ganger ha et lite avvik til det nøyaktige antallet rader i spørringsplanen.
Så fra å jobbe med én databuffer med 25 millioner rader, har du nå to databuffer med 5003 rader. Det er grunnen til at arbeid med senere materialisering gir raskere resultater enn tidlig materialisering.
Inne i hver materialiseringsforespørsel
Ved bare å se på spørringen, kan du allerede se at den senere materialiseringen er raskere. Tidlig materialisering-spørringen teller radene i en oppsummert tabell.
Tabellen som er oppsummert og materialisert er større enn bare å gjøre enav på bordet, som er det Late Materialization-spørringen gjør.
Hvis søket er tregt, start med å se på hvor mange rader som trekkes i spørringen og hvor mange som trengs for utdata. Du kan også gå til den logiske spørreplanen og følge arbeidsflyten som skjer i beregningen.
Konklusjon
Materialisering skjer når søkene dine trekker kolonner eller rader fra datamodellen din. Denne prosessen skjer naturlig når motoren din henter data fra datamodellen din for å gi resultater for søket ditt.
Det kan imidlertid oppstå problemer hvis din DAX trekker for mange rader enn det som er nødvendig for resultatet. Dette problemet kan løses ved å forenkle din DAX for å utføre spesifikke prosesser.
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.