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.
Jeg vil i dag fokusere på noe jeg kaller den skjulte DAX-fellen. Hvis du støter på denne situasjonen, vil det få deg til å føle at du mister forstanden fordi DAX-en din kommer til å se riktig ut, men den kommer ikke til å fungere. Jeg vil lede deg gjennom når det skjer og hva du kan gjøre med det, og i prosessen vil jeg også snakke om noen generelle beste praksiser for DAX-optimalisering. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
La oss først ta en titt på hva vi jobber med her. Vi har omtrent 10 år med data fra Internet Movie Database. Faktatabellene er ganske enkle, og vi har vurderingsdata, budsjettdata og bruttodata.
I dag skal vi se på brutto over hele verden.
Vi har også vår utvidede datotabell. Dette kommer til å være en tidsintelligensanalyse basert på datotabellen og faktatabellen.
Innholdsfortegnelse
Totalt verdensomspennende brutto per år
Vi ønsker å gjøre noe veldig vanlig og enkelt. Vår totale verdensomspennende brutto er bare et veldig enkelt aggregert summål, som vi ønsker å konvertere til en prosentandel.
For å gjøre dette tar vi telleren ( Totalt verdensomspennende bruttomål ) og nevneren ( Totalt verdensomspennende bruttomål , men fjernet konteksten fra årsfilteret).
Jeg brukte fordi jeg synes det er mer intuitivt når du leser koden, men hvis du foretrekker , fungerer det like bra. Vi deler bare telleren med nevneren for å få resultatet.
Hvis vi tar det resulterende målet og slipper det inn i tabellen vår, vil du se at det gjør akkurat det vi forventer at det skal gjøre. Vi får 100 % i bunn og vi får årene omregnet til deres individuelle prosenter. Så langt har det gått bra, og vi har ikke støtt på noen problemer ennå.
Totalt verdensomspennende brutto per kvartal
La oss ta en titt på en lignende situasjon der vi går etter kvartal. Dette tiltaket kan være nyttig fordi det er hypoteser om at inntektene fra sommerfilmsesongen er forskjellig fra begynnelsen av året, og mot slutten av året som fører til Oscar-sesongen.
Igjen, vi har nøyaktig samme mål med REMOVEFILTERS-funksjonen på kvartalstallene i stedet for året.
Og dropper vi tiltaket vi nettopp har gjort i tabellen, gjør det også akkurat det vi forventer.
Totalt verdensomspennende brutto per måned og år
La oss ta en titt på det tredje tilfellet, som kan være veldig vanlig, hvor vi ønsker å se etter måned og år.
Og igjen, vi bruker samme mål som før. Men denne gangen fjerner vi filteret på måned og år.
La oss slippe den inn på bordet vårt. Plutselig går det ikke.
Vi kan fortelle hva som ikke fungerer med det. Vi vet at Worldwide Gross-målet fungerer, så det betyr at telleren er bra, men nevneren er det ikke. I hvert av de foregående tilfellene fjernet REMOVEFILTERS-funksjonen filteret på riktig måte, men her gjorde det tydeligvis ikke det.
Vi kan faktisk teste dette ut ved å endre det vi returnerte her i resultatet.
I stedet for Resultat, la oss bruke Nevner. Husk at dette kommer til å bli formatert i prosent, så det kommer til å se litt morsomt ut.
Det vi bør få for nevneren er det samme tallet i hver rad, men det er det ikke.
Vi kan se at det ikke fjerner filteret på måned og år, og tror det er fordi måneden og året er i teksten.
Men den forrige for kvartal ble også uttrykt i tekst, så det er ikke bare fordi teksten. Det skal bare ordnes opp. Når du slipper feltet uten å sortere det, kommer det til å sortere alfabetisk.
I den utvidede datotabellen, la oss ta en titt på det feltet som heter Måned og år . Hvis vi ser på det i Sorter etter-kolonnen , får vi se noe interessant.
Vi vil se at den kolonnen er sortert etter et tall kalt MonthnYear. Når du sorterer en kolonne etter en annen, blir den sorteringskolonnen faktisk en del av filterkonteksten. Det er dette som avviser denne beregningen.
La oss gå tilbake til målet vårt og fjerne konteksten for måneden og året som vi bruker som vår sortering.
Vi får nå akkurat det vi skal, som er måneden og året regnet som en skikkelig prosentandel.
Når du fjerner en filterkontekst, vil det kreve to felt for å gjøre dette når den er sortert . Du kan spørre at i stedet for å måtte gjøre to felt her, hvorfor kan vi ikke bare fjerne filtre på hele datotabellen?
Svaret er at vi kan, og dette vil fungere for de tre eksemplene vi snakket om fordi hver av disse kolonnene er en del av datotabellen vår. Å fjerne all filterkonteksten på den tabellen vil fungere for alle tre tilfellene, men dette er faktisk en dårlig idé.
Som et generelt DAX-optimaliseringsprinsipp må du fjerne så mye filterkontekst som er nødvendig for å få resultatet du ønsker.
I de fleste tilfeller kommer du ikke til å presentere dette i tabellformat. Du vil presentere det som en matrise, og du trenger et mer komplekst mål fordi du har to forskjellige granulariteter i samme kolonne. Dette tiltaket ser komplisert ut, men det er det virkelig ikke.
Dette er bare en utvidelse av det vi allerede har gjort. Den første delen av denne DAX-optimaliseringsberegningen viser nevnerne for de forskjellige granularitetene. Vi fjerner filterkonteksten for en måned, for året og for hele tabellen.
For den andre delen av beregningen brukte vi SWITCH TRUE. For denne funksjonen må du gå fra den mest spesifikke til den minst spesifikke. Måneden er vårt strammeste og mest spesifikke omfang, så det er her vi starter. Vi må fjerne kontekst ved å bruke de to feltene vi identifiserte.
For omfanget av år, må vi fjerne konteksten på år, og fjerne konteksten på hele tabellen.
La oss ta en titt på hva som skjer hvis vi skal ta og fjerne konteksten i det hele tatt. Vi bruker et annet mål som fjerner konteksten på hele datotabellen for alle tre tilfeller.
Vi vil se at tiltaket overfjerner konteksten. I stedet for å beregne bidraget fra hver måned til det året, beregner det månedens bidrag til hele datasettet. Dette er ikke hva vi ønsker skal skje fordi å fjerne kontekst fra hele bordet er egentlig bare et sløvt instrument når en skalpell er nødvendig.
Konklusjon
Det er mange tilfeller der du har en matrise og du må kontrollere nøye hvilken kontekst du fjerner. Å bare fjerne konteksten på hele bordet kommer til å forårsake denne typen problemer.
Jeg håper når denne situasjonen dukker opp (som alltid vil, på et tidspunkt), vil du gjenkjenne den som den skjulte fellen som vi har diskutert i dette DAX-optimaliseringsinnlegget, og du vil kunne unngå det uten samme frustrasjon at det forårsaket meg da jeg først så det og ikke kunne finne ut hvorfor min DAX ikke fungerte som den skal.
Hvis du likte DAX-optimaliseringsemnet som dekkes i denne spesielle opplæringen, vennligst abonner på LuckyTemplates TV-kanal . Vi har en enorm mengde innhold som kommer ut hele tiden fra meg selv og en rekke innholdsskapere, som alle er dedikert til å forbedre måten du bruker LuckyTemplates og Power Platform på.
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.