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


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.