LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Mange mennesker tror, ​​at vi ikke kan udføre tilpasset sortering ved hjælp af DAX , men det er ikke sandt. DAX kan absolut garantere sortering, og det er faktisk ret nemt at gøre. I dagens blog vil jeg vise dig, hvordan du nemt kan gøre lige præcis det. Du kan se den fulde video af denne tutorial nederst på denne blog.

Indholdsfortegnelse

Vores datamodel

Lad os starte med en simpel datamodel. Vores datatabel har tre kampagner, analyseret ROI og omkostninger. 

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Som du kan se i tabellen, har de de samme omkostninger, men deres ROI er forskellige. Konceptet her er at vide, hvilke kampagner vi skal køre afhængigt af deres ROI'er for et givet budget. 

LuckyTemplates Custom Sort: Brug af While-løkken

Lad os starte med et mål med en simpel while-løkke. 

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Vi sætter vores budget til 20000 og gemmer det i budgetvariablen ved hjælp af _Budget.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Og så bruger vi while-løkken ved at oprette en tabelvariabel VAR_Table

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Vi bruger såder går imod vores basistabel 4 og tilføjer en løbende totalkolonne ved hjælp af "_RT" .

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Dernæst henter vi [Analyseret ROI] i vores nuværende række gemt som VAR_ROI . Så tager vi vores budget . Fra det trækker vi fra, filtrer Tabel 4 for det analyserede ROI, der er større end eller lig med det ROI, som vi henter for vores nuværende række, og tag [ Cost]

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Disse linjer vil tage det højeste ROI i den første række, derefter det næsthøjeste for den næste række, og så videre. Så i det væsentlige har vi en kolonne, der er en løbende total, der tæller ned til nul i negativer.

Så forlader vi vores while-løkke. Vi opretter vores FinalTable-variabel med VAR_FinalTable , hvor vi blot filtrerer vores tabelvariabel for den løbende total , der er større end eller lig med nul. Vi anvender dette filter, fordi alt under nul betyder, at vi er blevet negative, og vi er ude af budget.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Så kan vi bruge disse værdier. Vi inkluderer vores kolonner – kampagner, analyseret ROI og omkostninger – og tilføjer .

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Vi kan vise dette kort- visuelt billede i udvælgelsesruden og se, at vi har vores Instagram og SEM, som er vores to højeste ROI'er.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Lad os tjekke vores originale tabel for at sammenligne resultaterne.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Vi kan se, at PPC faktisk har et lavere ROI end SEM og Instagram. 

Men som du måske har bemærket, kom vores resultat ikke tilbage i den rigtige rækkefølge, hvor Instagrams 8.1 viste først før SEM's 8.15. 

Anvendelse af LuckyTemplates sorteringsrækkefølge

Men hvad nu, hvis vi ønsker, at Instagram skal returneres først, fordi det har det højeste ROI og SEM, der returneres næst? Grundlæggende ønsker vi at garantere sorteringsrækkefølge. Dette bliver en lille smule vanskeligt, men det er ikke svært at forstå, hvordan man gør det.

Sådan skal vores funktion se ud, hvor den nederste sektion er den samme som while-løkken, vi havde tidligere.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Og for at garantere sorteringsrækkefølge, skal vi gøre lidt ekstra arbejde. 

Igen starter vi med vores VAR_Budget , som vi sætter til 20000. Derefter opretter vi vores Count-variabel ved hjælp af VAR_Count I og anvender på tabel 4. 

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

I den næste linje vil vi bruge CONCATENATEX- funktionen til at sammenkæde vores kolonner Kampagner, Analyseret ROI og Pris. Du kan bruge hvad som helst som en separator, så længe det ikke er i dine data, så i dette tilfælde, lad os bare bruge stjerner. 

Så bruger vi et rørtegn (|) i den næste parameter efter priskolonnen. Vi bruger også VAR_Ordered til at sortere efter det analyserede ROI i faldende rækkefølge, hvilket betyder, at det højeste ROI vil være øverst.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Hvis vi ser på kommentarlinjen, står der, at koden vil give os resultatet i formatet som SEM*8.158*10000 | Instagram*8,1*10000 . Det vil også komme ud i rækkefølgen af ​​det højeste ROI til det laveste ROI. 

LuckyTemplates brugerdefineret sortering: Bruges til loop

Dette eksempel er interessant, fordi vi får en , while-løkke og alle mulige fede funktioner. Denne gang vil vi bruge for-løkken

Tabel 1

I dette eksempel er Tabel1 vores for-løkke, og det, vi laver, er ADDCOLUMNS tilder går fra én til vores optælling med én skrevet som (1,_Count,1).

I vores Row bruger vi såfordi vi bruger rørkarakteren for at adskille rækkerne i vores tabel. Ved hjælp af PATHITEM griber vi derefter stien fra den Ordnede variabel, som er vores streng. 

Vi bruger også Value , som er vores automatiske kolonne, der oprettes med GENERATESERIES , eller vores kalendere 1, 2, 3, 4, 5, indtil vi udtømmer antallet af rækker, vi har i vores tabel. Derefter returnerer vi det tilbage som tekst

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Det, vi har nu, er en garanteret sorteringsrækkefølge for vores tabel, som går fra den højeste ROI til den laveste. Så her er din DAX for at garantere sorteringsrækkefølge. 

Tabel 2

Nu, for at få dette i et brugbart format, skal vi lave Tabel2 , hvor vi udvælger de enkelte kolonner fra vores streng, som vi har.

Lad os bruge endnu en ADDCOLUMNS til at tilføje til Tabel1, vores for-løkke. For Kampagner skal du oprette en kampagnekolonne og brugeat erstatte stjerner med rør. Derefter bruger vi PATHITEM på RowPath til at gribe det første element og returnere det som TEXT.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

I kolonnen Analyseret ROI gør vi stort set det samme. ERSTAT stjerner med rør. Grib derefter det andet element på vores vej og returner det som TEKST. Vi gør dette, fordi PATHITEM af en eller anden grund lader os returnere som heltal eller tekst, men ikke decimaltal.

Det er lidt underligt, men vi kan løse det, fordi alt vi skal gøre er at tilføje nul, og DAX vil automatisk konvertere TEXT-strengen til en numerisk værdi. 

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Igen gør vi det samme for kolonnen Pris . Vi bruger SUBSTITUTE og PATHITEM til at få fat i det tredje element. Derefter, for at returnere et tal, tilføjer vi nul igen, fordi det er et helt tal i dette tilfælde.

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Resten af ​​vores kode er while-løkken, som vi diskuterede tidligere. Det, vi får nu, er vores garanterede sorteringsrækkefølge fra højeste til laveste kampagne. 

LuckyTemplates brugerdefineret sortering ved hjælp af DAX

Vores SEM var vores højest rangerede ROI for vores kampagne, og Instagram er den anden. 




Konklusion

Ved at bruge mens og til loops brugte vi med succes LuckyTemplates tilpassede sortering i vores datamodel baseret på deres ROI'er – et bevis på, at DAX helt sikkert kan garantere sorteringsrækkefølge. 

Det er vigtigt at sikre, at dine data er korrekt sorteret i DAX for præcist at analysere og visualisere dem. Du kan anvende det, du har lært i dette selvstudie, til at sortere dine data korrekt til din næste rapport.

Alt det bedste,

Greg Deckler

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.