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.
Mange tror at vi ikke kan utføre tilpasset sortering ved hjelp av DAX , men det er ikke sant. DAX kan absolutt garantere sortering, og det er faktisk ganske enkelt å gjøre. I dagens blogg skal jeg vise deg hvordan du enkelt kan gjøre akkurat det. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Innholdsfortegnelse
Vår datamodell
La oss starte med en enkel datamodell. Datatabellen vår har tre kampanjer, analysert ROI og kostnad.
Som du kan se i tabellen, har de de samme kostnadene, men avkastningen deres er forskjellig. Konseptet her er å vite hvilke kampanjer vi bør kjøre avhengig av deres ROI for et gitt budsjett.
LuckyTemplates tilpasset sortering: Bruk av While-løkken
La oss starte med et mål med en enkel while-løkke.
Vi setter budsjettet vårt til 20 000 og lagrer det i Budsjett-variabelen ved å bruke _Budget.
Og så bruker vi while-løkken ved å lage en tabellvariabel VAR_Table .
Vi bruker dasom går mot vår basistabell 4 og legger til en løpende totalkolonne ved å bruke "_RT" .
Deretter henter vi [Analyzed ROI] i vår nåværende rad lagret som VAR_ROI . Deretter tar vi budsjettet vårt . Fra den trekker vi fra, filtrer tabell 4 for den analyserte ROI som er større enn eller lik ROI som vi henter for vår nåværende rad, og ta [Cost] .
Disse linjene vil ta den høyeste avkastningen i den første raden, deretter den nest høyeste for den neste raden, og så videre. Så i hovedsak vil vi ha en kolonne som er en løpende total som teller ned til null i negative.
Så går vi ut av while-løkken. Vi lager FinalTable-variabelen vår med VAR_FinalTable , hvor vi ganske enkelt filtrerer tabellvariabelen vår for den løpende totalen som er større enn eller lik null. Vi bruker dette filteret fordi alt under null betyr at vi har blitt negative og at vi er utenfor budsjettet.
Da kan vi bruke for disse verdiene. Vi tar med kolonnene våre – Kampanjer, analysert avkastning og kostnad – og legger til .
Vi kan vise denne kortvisualen i utvalgsruten og se at vi har Instagram og SEM, som er våre to høyeste avkastninger.
La oss sjekke den opprinnelige tabellen vår for å sammenligne resultatene.
Vi kan se at PPC faktisk har en lavere ROI enn SEM og Instagram.
Men som du kanskje har lagt merke til, kom ikke resultatet vårt tilbake i riktig rekkefølge, med Instagrams 8.1 som vises først før SEMs 8.15.
Bruk av LuckyTemplates sorteringsrekkefølge
Men hva om vi vil at Instagram skal returneres først fordi det har den høyeste ROI og SEM som skal returneres som nummer to? I utgangspunktet ønsker vi å garantere sorteringsrekkefølge. Dette blir litt vanskelig, men det er ikke vanskelig å forstå hvordan man gjør det.
Slik skal funksjonen vår se ut, med den nederste delen som er den samme som while-løkken vi hadde tidligere.
Og for å garantere sorteringsrekkefølge må vi gjøre litt ekstra arbeid.
Igjen starter vi med vårt VAR_Budget som vi setter til 20000. Deretter lager vi vår Count-variabel ved å bruke VAR_Count I og bruker på tabell 4.
I neste linje vil vi bruke CONCATENATEX -funksjonen til å sette sammen kolonnene Kampanjer, Analysert ROI og Kostnad. Du kan bruke hva som helst som skilletegn så lenge det ikke er i dataene dine, så i dette tilfellet, la oss bare bruke stjerner.
Deretter bruker vi et rørtegn (|) i den neste parameteren etter kostnadskolonnen. Vi bruker også VAR_Ordered for å sortere etter den analyserte avkastningen i synkende rekkefølge, noe som betyr at den høyeste avkastningen vil være øverst.
Hvis vi ser på kommentarlinjen, står det at koden vil gi oss resultatet i formatet SEM*8.158*10000 | Instagram*8,1*10000 . Det vil også komme ut i rekkefølgen av høyeste ROI til laveste ROI.
LuckyTemplates Egendefinert sortering: Brukes for Loop
Dette eksemplet er interessant fordi vi får en , while-løkke, og alle slags kule funksjoner. Denne gangen bruker vi for-løkken .
Tabell 1
For dette eksemplet er Tabell1 vår for-løkke, og det vi gjør er ADDCOLUMNS tilsom går fra en til vår telling med en skrevet som (1,_Count,1).
I vår rad bruker vi dafordi vi bruker pipetegnet for å skille radene i tabellen. Ved å bruke PATHITEM griper vi deretter banen fra den Ordnede variabelen, som er strengen vår.
Vi bruker også Value , som er vår automatiske kolonne som er opprettet med GENERATESERIES , eller våre kalendere 1, 2, 3, 4, 5, til vi har brukt opp antallet rader vi har i tabellen vår. Deretter returnerer vi den tilbake som tekst .
Det vi har nå er en garantert sorteringsrekkefølge for bordet vårt, som går fra høyeste ROI til laveste. Så her er din DAX for å garantere sorteringsrekkefølge.
Tabell 2
Nå, for å få dette i et brukbart format, må vi gjøre tabell 2 der vi skal plukke ut de individuelle kolonnene fra strengen vår som vi har.
La oss bruke en annen ADDCOLUMNS for å legge til Tabell1, vår for-løkke. For Kampanjer oppretter du en kampanjekolonne og brukerå erstatte stjerner med rør. Deretter bruker vi PATHITEM på RowPath for å ta det første elementet og returnere det som TEKST.
I kolonnen Analysert ROI vil vi i utgangspunktet gjøre det samme. ERSTATT stjerne med rør. Ta så tak i det andre elementet i vår vei og returner det som TEKST. Vi gjør dette fordi PATHITEM av en eller annen grunn lar oss returnere som heltall eller tekst, men ikke desimaltall.
Det er litt rart, men vi kan løse det fordi alt vi trenger å gjøre er å legge til null, og DAX vil automatisk konvertere TEXT-strengen til en numerisk verdi.
Igjen, vi gjør det samme for kostnadskolonnen . Vi bruker SUBSTITUTE og PATHITEM for å hente det tredje elementet. Så, for å returnere et tall, legger vi til null igjen fordi det er et helt tall i dette tilfellet.
Resten av koden vår er while-løkken som vi diskuterte tidligere. Det vi får nå er vår garanterte sorteringsrekkefølge fra høyeste til laveste kampanje.
Vår SEM var vår høyest rangerte ROI for kampanjen vår, og Instagram er den andre.
Konklusjon
Ved å bruke mens og for looper, brukte vi heldigvis tilpasset sortering av LuckyTemplates i datamodellen vår basert på deres ROI-er – et bevis på at DAX definitivt kan garantere sorteringsrekkefølge.
Det er viktig å sikre at dataene dine er riktig sortert i DAX for å analysere og visualisere dem nøyaktig. Du kan bruke det du lærte i denne opplæringen for å sortere dataene dine på riktig måte for neste rapport.
Beste ønsker,
Greg Deckler
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.