RANKX Deep Dive: A Lucky Templates DAX-funktion

Idag kommer vi att dyka djupt in i RANKX, en skalär DAX-funktion i LuckyTemplates som låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Innehållsförteckning

Exempel på scenarier

Vi kommer att analysera några av de viktigaste scenarierna, inklusive när man ska referera till en hel tabell och fältnamn inuti .

Vi kommer också att undersöka vad som händer när minskningarna och när en sorteringsordning tillämpas över ett fält. Slutligen kommer vi att titta närmare på bästa praxis för att referera till ett tabellnamn eller ett fältnamn längs tabellen och hur rankningen utvärderas i bakkanten.

RANKX Scenario 1: Kundrankning

I vårt första scenario vill vi beräkna rankningen av våra kunder och referera till hela kundernas tabell i RANKX-funktionen. I slutändan kommer vi att ta reda på hur resultaten utvärderas.

Så låt oss börja med att öppna LuckyTemplates och klicka på knappen Totala försäljningsalternativ under fliken Nyckelmått och sedan gå till Nytt mått . Skriv ett mått för kundrankningen (t.ex. "Kundranking =").

Du kan se resultaten genom att dra kundrankningsmåttet inuti tabellen.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Men är detta det bästa tillvägagångssättet för varje scenario? Vad händer om det finns två personer med samma namn men i olika städer? Eller tänk om vi har två platser med samma namn men olika territorier?

RANKX Scenario 2: Cities Ranking V1

Låt oss nu tillämpa samma tillvägagångssätt i det första scenariot. Den här gången kommer vi dock att tillämpa det över regiontabellen där vi har två städer med samma namn men på två olika platser.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Som du kan se i bilden ovan, i regiontabellen, har vi två städer med samma namn, men de är tillgängliga under två olika territorier. Så vad händer när vi tillämpar samma steg från vårt tidigare scenario?

Resultaten kommer att se ut ungefär så här:

RANKX Deep Dive: A Lucky Templates DAX-funktion

Nu börjar vi se ett problem med vår rankningsformel. Eftersom RANKX-funktionen itererar över en hel uppsättning tabeller, kan den inte konsolidera resultaten för städerna med samma namn, som är tillgängliga under två olika territorier. Detta resulterar i slutändan i ett fel.

För att lösa detta problem måste du referera till fältnamnet inuti RANKX-funktionen och tabellnamnet, precis som i bilden nedan.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Så hur fixade det felet? När vi refererar till ett fältnamn inuti RANKX-funktionen, upprepas det endast genom den kolumnen och inte över hela tabellen.

Det kommer att ta bort dubbletterna även om de två städerna är tillgängliga i två olika territorier, och därigenom konsolidera dem som en enda stad.

RANKX Scenario 3: Territoriernas rankning

Så vad händer när nivån av granularitet minskar?

I det här fallet kommer du att se felet när du beräknar rankningen på territoriell nivå. Anledningen är att när vi endast refererar till tabellnamnet och ignorerar kolumnnamnet igen, upprepar det det över en hel tabell, och misslyckas således med att konsolidera resultaten på territoriell nivå.

För att få rätt resultat på territoriell nivå måste du referera till territoriefältet i regiontabellen. Men när ska du referera till hela tabelltemat och inkludera fältnamnet tillsammans med tabellen?

När rangordning tillämpas över den lägsta nivån av granularitet kan vi hänvisa till tabellnamnet och ignorera fältnamnet.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Men när granularitetsnivån minskar måste vi referera till kolumnnamnet tillsammans med tabellnamnet. Än så länge analyserar vi bara resultaten i en enda bild, det vill säga en tabell.

Cities RankingV2: The Better Approach Using Slicer

Låt oss duplicera det andra scenariot där den vänstra sidan av visualiseringen endast refererar till ett tabellnamn medan den högra sidan refererar till kolumnnamnet inuti RANKX-funktionen. Vi kommer sedan att jämföra resultaten genom att ta med en slicer till den sidan i form av territorier, vilket resulterar i bilden nedan.

RANKX Deep Dive: A Lucky Templates DAX-funktion

När vi gör ett urval i slicern, kommer du att märka att på vänster sida av tabellens visuella visning ger den inte resultatet i seriell ordning eftersom RANKX itererar över hela regionens tabell. På höger sida av tabellvisualen kommer du dock att se resultaten i seriell ordning.

Anledningen är att RANKX endast itererar över en specifik tabellkolumn, vilket gör att den kan filtrera bort resultaten enligt valet som gjorts i skivaren. Det är också en av de viktigaste sakerna att komma ihåg.

Om vi ​​vill se de övergripande rankningsresultaten kan vi endast referera till tabellnamnet i .

Men om vi vill att våra resultat ska vara i seriell ordning enligt valet som gjorts i slicern, måste vi också referera till ett kolumnnamn inuti funktionen.

RANKX Scenario 4: Produktrankning

Låt oss slutligen fortsätta med vårt sista scenario. Låt oss undersöka vad som händer när vi lägger en produktorder över ett visst fält och hur RANKX utvärderar rankningen på baksidan.

I det här scenariot använder vi produktnamn från produkttabellen för att analysera vilka som är våra.

Så precis som i det första scenariot måste du skriva ett rankningsmått för dina produkter (i det här fallet, använd väl produktrankning). Om du tar med produktens rankningsmått i det visuella, kommer du att se ett resultat precis som bilden nedan:

RANKX Deep Dive: A Lucky Templates DAX-funktion

Du kan se att även om vi har refererat till vårt produktnamnsfält i RANKX-funktionen, så utvärderar det inte resultaten korrekt. Så varför händer detta? För att svara på denna fråga måste vi öppna.

RANKX Scenario 5: DAX Studio

Så låt oss öppna DAX studio och se hur RANKX utvärderar rankningsresultaten på baksidan.

I bilden nedan har jag kopierat frågan om tabellens visuella via och klistrat in den i DAX studio. Som du kan se i denna fråga finns även produktindexet, ett sorteringsfält inuti produkttabellen.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Så även om vi i vår tabellvisu bara tog med produktnamn, total försäljning och rankningsmått, refereras detta fält till som standard längst bak i rankingberäkningen.

Så nu, låt oss fixa vårt produktrankningsmått genom att referera till sorteringsfältet i RANKX-funktionen och se resultaten för sista gången.

RANKX Deep Dive: A Lucky Templates DAX-funktion

Som du kan se i bilden ovan utvärderas nu resultaten för produktnamnen korrekt. Alltså, när vi har ett fält sorterat efter ett annat fält, måste vi referera till båda fälten i RANKX-funktionen baserat på alla scenarier vi har diskuterat idag.

Slutsats

Så det är några av scenarierna när du använder RANKX-funktionen i DAX-beräkningar. Sammantaget finns det många fler sätt du kan göra det på i ett omfattande utbud av funktioner.

Det viktigaste att komma ihåg är att du måste förstå det sammanhang i vilket din RANKX-funktion placeras.

RANKX är exceptionellt mångsidig när det gäller att beräkna vilken typ av rankning som helst i LuckyTemplates. Det möjliggör också avancerade insikter som imponerar på konsumenterna av dina rapporter och visualiseringar.

Med vänliga hälsningar,

Hårda Anil Joshi


Vad är Power Query & M Language: En detaljerad översikt

Vad är Power Query & M Language: En detaljerad översikt

Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.

Skapa en paginerad rapport: Lägga till texter och bilder

Skapa en paginerad rapport: Lägga till texter och bilder

Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!

Löpande summor i LuckyTemplates med DAX

Löpande summor i LuckyTemplates med DAX

Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.

LuckyTemplates Slope Chart: En översikt

LuckyTemplates Slope Chart: En översikt

Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.

LuckyTemplates färgteman för enhetliga visualiseringar

LuckyTemplates färgteman för enhetliga visualiseringar

Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.