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.


Variabler og uttrykk i Power Query Editor

Variabler og uttrykk i Power Query Editor

Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.

Hvordan lage et Lucky Templates-varmekart

Hvordan lage et Lucky Templates-varmekart

Et LuckyTemplates-varmekart er en type visualisering som brukes til å vise datatetthet på et kart. I denne opplæringen vil jeg diskutere hvordan vi kan lage en – ikke gå glipp av noe!

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Jeg skal lære deg et veldig interessant eksempel rundt Pareto-prinsippet og hvordan du lager et Pareto-diagram ved hjelp av viktige DAX-formler.

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Lær hvordan et tilpasset stolpediagram på markedsplassen kan brukes til datasammenligning og hvordan du kan lage dem ved å bruke eksempler i LuckyTemplates.

Kraftautomatisering av statiske resultater: En oversikt

Kraftautomatisering av statiske resultater: En oversikt

Lær hvordan Power Automate Static Results-funksjonen fungerer og hvorfor det er bra å bli lagt til de beste praksisene når du lager flytdiagrammer.

LuckyTemplates Python-opplæring: Hvordan oversette tekster

LuckyTemplates Python-opplæring: Hvordan oversette tekster

eDNA demonstrerer hvordan du utfører språk- eller tekstoversettelse ved hjelp av Python og overfører det til LuckyTemplates. LuckyTemplates Python-opplæring.

Lag et Gantt-diagram i LuckyTemplates Report Builder

Lag et Gantt-diagram i LuckyTemplates Report Builder

I denne opplæringen lærer du hvordan du bruker Gauge Bullet Graph til å lage et Gantt-diagram i LuckyTemplates Report Builder.

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

I denne opplæringen lærer du hvordan du lager et tredimensjonalt (3D) spredningsplott ved å bruke Python i LuckyTemplates.

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet