DAX-spørringer som bruker variabler og viktige funksjoner

Denne opplæringen vil diskutere variabler, inkludertogfunksjoner. Du vil forstå hvordan disse bidrar til å øke ytelsen til dine DAX-søk og gir nøyaktige resultater.

Variabler bør brukes så mye som mulig fordi de lett kan finne koder for optimalisering. De hindrer deg i å få feil utdata og sparer deg for tid på å lete etter feilen. Variabler forhindrer imidlertid noen ganger at en verdi beregnes på nytt. Så når de først er definert med en verdi, kan ikke den verdien endres, ikke engang med CALCUATE .

Det er viktig å vite hvor du bør definere og bruke variabler fordi bruk av dem i og utenfor en iterasjon vil generere forskjellige resultater. De bør defineres nær der de skal brukes. Dette bidrar også til å bryte ned lange koder, noe som gjør dem lettere å forstå og feilsøke.

Innholdsfortegnelse

Lag DAX-spørringer med CALCUATE og FILTER

Det finnes ulike metoder for å få resultater og svar i DAX. Du må utvikle din egen stil og flyt i å lage rapporten din slik at du kan være komfortabel med det du jobber med. Selv om du har din egen stil, må du fortsatt følge de spesifikke retningslinjene, som inkluderer bruk av CALCULATE over forskjellige metoder som FILTER .

FILTER kan sende mye ukomprimert data til formelmotoren og kan potensielt utløse en CallBackDataID. Her vil det bli brukt mål for å vise resultatene av CALCUATE og FILTER . Denne har også et definert mål som er lokalt for spørringen. Definerte mål finnes ikke i datamodellen, men de kan utvikle og feilsøke kodene dine raskere.

DAX-spørringer som bruker variabler og viktige funksjoner

På den første linjen kan du se et mål som definerer en variabel for datoen. Dette betyr at den filtrerer faktatabellen for datoene som inntreffer på eller etter 31. mars 2016. Du kan også se et enkelt mål på Totalt salg som itererer faktasalgstabellen og multipliserer Antall og gjeldende pris.

Det neste målet er å brukeinnsiden. Hvis du husker fra CallBackDataID- modulen, vil bruk av en IF inne i SUMX-funksjonen opprette en CallBackDataID .

DAX-spørringer som bruker variabler og viktige funksjoner

Dette tiltaket filtrerer hele tabellen Faktasalg. Den fjerner filtrene som kommer fra datotabellen.

DAX-spørringer som bruker variabler og viktige funksjoner

Du må være forsiktig når du filtrerer en hel tabell fordi den vil også filtrere alle kolonnene som er på den ene siden av en-til-mange-forholdet.

Dette tiltaket er det samme som det forrige tiltaket; den eneste forskjellen er at den ikke filtrerer hele tabellen. Den bruker SUMX til bare å iterere en filtrert tabell.

DAX-spørringer som bruker variabler og viktige funksjoner

Dette er et annet mål som filtrerer faktasalgstabellen, men denne gangen er det bare i kolonnen der det er i.

DAX-spørringer som bruker variabler og viktige funksjoner

Det siste målet er å bruke CALCULATE og datamodellen for å filtrere og hente data.

DAX-spørringer som bruker variabler og viktige funksjoner

Kjør og kontroller hvert mål

Kjør først IF- målet. Sørg for å tømme hurtigbufferen før du kjører spørringen og slår på Server Timings og Query Plan.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Selv om det gir de riktige dataene, er ytelsen treg på grunn av CallBackDataID og de 3 varighetene.

Hvis du kjører tiltaket som filtrerer hele faktasalgstabellen, kan du fortsatt se CallBackDataID . Det vil også generere 15 003 rader og gi feil resultater.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Når du kjører tiltaket som ikke filtrerer hele tabellen Faktasalg, får du de riktige resultatene. Du vil imidlertid fortsatt se CallBackDataID og de materialiserte 15 003 radene, men bare ha 7 rader med utdata.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Kjør neste mål som filtrerer på en kolonne. Du får de riktige resultatene og eliminerer CallBackDataID . Men du kan fortsatt se at det materialiserte seg mange rader.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Kjør CALCUATE- målet. Du kan se at den bare materialiserte 10 rader og genererte riktige data på 5 millisekunder.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Det er den raskeste blant alle målene ovenfor fordi den ikke har og trakk bare 10 rader. Dette viser hvor imponerende CALCUATE er når det gjelder å få raske og presise resultater.

Hvis du kjører alle DAX-spørringer eller -mål, kan du se hvilken som er tregest og raskest basert på varigheten. Du kan også se resultatene av hvert tiltak.

DAX-spørringer som bruker variabler og viktige funksjoner

DAX-spørringer som bruker variabler og viktige funksjoner

Konklusjon

Ved å flytte filtrene til CALCULATE sparer du tid og materialisering fordi CallBackDataID- en vil bli eliminert. Du trenger ikke å gjenta dataene to ganger. Dette vil også maksimere DAX-ytelsen og hjelpe deg med å forbedre utviklingsferdighetene dine.


DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

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.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

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å.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

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.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

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.