RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

är den vanligaste DAX-funktionen för att rangordna insikter i LuckyTemplates. Det är en enkel funktion, men kan ändå vara frustrerande förvirrande för nybörjare. Det är dock en mycket kraftfull funktion som kan ge värdefulla insikter för dina rapporter.

I den här artikeln kommer du att känna till detaljerna i RANKX DAX-funktionen. Du kommer att lära dig när och hur du använder den och du kommer att se hur användbar den här funktionen är när vi utforskar några scenarier och exempel.

Innehållsförteckning

DAX RANKX funktionsdefinition och syntax

Funktionen RANKX LuckyTemplates DAX returnerar rankningen av ett visst nummer i en lista med nummer för varje rad i tabellargumentet. Den kan användas i beräkningar både för beräknade kolumner och beräknade mått. Nedan är RANKX-formelsyntaxen.

RANKX(
     , , , ,
)

För tabellparametern kan du mata in en standardtabell importerad i LuckyTemplates eller en beräknad tabell via DAX. RANKX, som en itererande funktion , itererar sedan genom den tabellen och rangordnar ett specifikt nummer. Detta beror på antalet värden i tabellen. Till exempel, om tabellen har 20 värden, kommer RANKX att ha ett rankningsresultat från 1 till 20.

En nyckel för att förstå RANKX-funktionen är att den returnerar ett skalärt värde . Inom expressionsparametern behöver vi ett DAX-uttryck som returnerar ett skalärt värde. Detta uttryck loopar och itererar genom varje rad i tabellen, vilket ger dig rankningsvärdena därefter.

Värde- och ordningsparametrarna är valfria, medan parametern ties hjälper dig med dina värden.

RANKX And ​​Lucky Templates DAX Formula Concepts

Det finns ett antal begrepp att förstå väl för att se till att de rankningsresultat du förväntar dig skapas. Jag kommer att diskutera det viktigaste konceptet när du kör en DAX-beräkning, vilket är ''. När du väl har gjort detta kan du verkligen förstå hur du använder RANKX-funktionen effektivt.

RANKX är en mycket unik DAX-funktion som kräver ett djupare tänkande kring dess logik och hur det faktiskt fungerar när man kör en beräkning i ett visst sammanhang (till exempel en tabell eller ett diagram inuti LuckyTemplates).

Varje annan parameter inom DAX RANKX-funktionen kan ändra sättet på vilket den beräknar ett resultat. Det finns flera parametrar som du kan mata in i denna DAX-funktion för att förstå hur var och en kan bestämma det underliggande resultatet, vilket anses viktigt.

Det är därför det är viktigt att förstå nyckelelementen och koncepten för hur RANKX fungerar i en mängd olika sammanhang. Detta gör att du kan vara säker på att dina beräkningar är korrekta och att dina konsumenter ser insikter som faktiskt är vettiga.

Grundläggande RANKX DAX-scenario

Låt oss först ta en titt på en enkel RANKX-beräkning. I det här exemplet försöker vi  identifiera rankningen av dessa produkter baserat på försäljning  (detta kan också baseras på vilket mått som helst) för alla olika produkter som vi säljer.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

I första hand måste vi skapa en tabell i RANKX för att utvärdera varje enskild produkt baserat på det mått som vi angav. Funktionen kan användas för att ta bort valfritt filter från produkttabellen  och  för att utvärdera varje enskild produkt. 

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Men om vi tar bort filtret (i det här fallet  ALL  -funktionen) och bara använder "Produkter", kommer det att visa ett annat resultat. Det är därför vi måste för att få rätt resultat. Så här kan du lösa enkla  RANKX-  beräkningar. 

Men tänk om det blir mer komplicerat? Vad händer om du behöver rankningsresultat som inte bara baseras på total försäljning? Tja, det är där vi måste förstå det aktuella sammanhanget för denna beräkning. Vi behöver veta hur vi kan manipulera sammanhanget för att få det resultat vi vill ha.

Komplext RANKX DAX-scenario

Låt oss försöka få in den exakt liknande formeln (Produktrankningsmått) i tabellen till höger.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Som du kan se har det gett oss ytterligare ett felaktigt resultat. Anledningen till detta är att vi även har en kolumn Kundnamn här. Om vi ​​tittar på formeln igen ser du att den  inte bryter ut varje enskild kund . Vi utvärderar endast produkterna för varje specifik kund.

Låt oss försöka reda ut   kolumnen Kundnamn .

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Även om vi sorterar ut kolumnen Kundnamn, kommer produktrankningen fortfarande att ändras baserat på rankningen av produkten som de köpte. Det finns många siffror som är lika. Ett exempel är rank 17. I det här fallet kan det bero på att  just den här kunden bara har köpt 17 produkter .

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Det är kanske vad du behöver i det här scenariot. Men vad händer om du behöver något lite mer komplext än så? Vad händer om du behöver rangordningen från 1 till ett obestämt värde för Kundnamn och Produktkontexter?

Som jag har betonat är det viktigt att  förstå sammanhanget och hur vi manipulerar sammanhanget  för att få det resultat vi vill ha.

I vårt exempel har vi två dimensioner som kommer från två helt olika tabeller. Vi har kolumnen Kundnamn  från  tabellen Kunder och kolumnen Produktnamn från tabellen Produkter.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Vi måste på något sätt ta bort filter på denna virtuella tabell inuti RANKX-logiken från båda två tabellerna. Vi måste göra vad vi gjorde i den första tabellen (vänster sida), men vi måste göra det över både kundnamn och produktnamn kolumner i båda specifika tabellerna.

Sedan kommer vi så småningom att få rätt rankning via Total försäljning av kundnamn och produktnamn. Här är formeln som vi kan använda för detta distinkta scenario.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Funktionen låter oss sammanfoga två kolumner, eller det kan också vara två tabeller. Men i det här fallet kommer vi bara att slå samman kolumner.

Vi  tar bort alla filter  från både kund- och produkttabellerna. Sedan går vi igenom varje enskild rad i den här virtuella tabellen och utvärderar eller identifierar var den specifika rankningen för just detta kundnamn och produktnamn underuppsättning.

Avancerat RANKX DAX-exempel

Som du kan se i de tidigare exemplen ger RANKX-funktionen dig värdefulla insikter när du använder den för en rad olika sammanhang på din rapportsida. Det kan dock också vara en av de mest förvirrande funktionerna att använda i LuckyTemplates. Det kan ge dig olika resultat som verkar vara korrekta, när de i själva verket är fel. Om du inte är försiktig kommer du att behöva omarbeta hela rapporten.

Du behöver en gedigen förståelse för sammanhang och sedan lära dig hur du använder RANKX i det sammanhanget.

Jag ska dyka in i hur komplext RANKX kan vara ibland. Jag ska gå igenom ett exempel så att du kan förstå de många nyanserna av att arbeta med den här funktionen.

I visualiseringen nedan har vi länsrankningen, staternas rankning och delstatsregionernas rankning.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Hantera sammanhanget för beräkningen kan vara svårt om du vill se dem alla i en matris. Låt oss titta på tabellen. Du kan se att den har information om statliga regioner, stat och län.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

För det här exemplet måste du räkna ut rankningen av länen. Om du bara har läns-, länsranking och total försäljning i tabellen får du rätt rankningsresultat:

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Men när du väl börjar lägga upp de andra sammanhangen i tabellen börjar rankningsresultatet ackumuleras för varje län som finns i olika stater och delstatsregioner.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Så du måste identifiera och ändra sammanhanget för beräkningen för att se till att du får rätt övergripande rankning för varje län oavsett vad som väljs på rapportsidan. När du väljer en stat som Colorado uppdateras formeln också.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Du kan också göra ett val med hjälp av Statliga regioner. Om du väljer Northeast visar den rätt rankning.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

I det här exemplet används två formler för att få länsrankningen. Detta hjälper dig att förstå skillnaden i resultaten som genereras genom att använda olika tillsammans med RANKX:

Formel #1: RANKX Med ALLA Och ALLA VALDA

ALL-funktionen är nyckeldelen av denna formel för länsrankning:

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Det manipulerar sammanhanget inom RANKX-formeln. Den itererar sedan genom tabellen Regioner och skapar rankningsresultatet. I det här fallet arbetar ALL-funktionen praktiskt taget genom varje enskilt län oavsett det ursprungliga sammanhanget.

Det här problemet blir komplicerat när du börjar lägga lager på skivningssammanhang. Genom att använda uppdateras rankningen automatiskt beroende på valet i utsnittet. Du måste också använda för att placera ytterligare sammanhang på ett resultat eller för att ändra sammanhanget för beräkningen.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Kontexten justeras baserat på filtren inom funktionen BERÄKNA. Med detta kommer rankningen att justeras baserat på kontexten som kommer från delstats- och delstatsregionsskärarna.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Formel #2: RANKX Med ALLA Och VÄRDEN

Låt oss nu titta på kolumnen Län (Uppdaterad).

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Du vill vara säker på att den här kolumnen kommer att fortsätta att visa den övergripande rankningen oavsett vad som väljs i skivorna. Varje län bör ha ett unikt nummer.

Det här är formeln som används:

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

För det här exemplet fanns det inget sätt att dechiffrera ett unikt län, så en annan kolumn skapades. Kolumnen Full County inkluderar län, stat och region.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Detta ger dig en bra skillnad mellan länen. På så sätt kan du nu arbeta med en virtuell tabell över de län som finns i data. Innan du gör detta måste du ta bort ALL-kontexten från tabellen Regioner.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Så, något sammanhang som kommer från regionens bord existerar inte vid denna tidpunkt. Med funktionen kan du lägga tillbaka kontexten för kolumnen Full County.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Ett alternativ är att referera till varje kolumn med funktionen ALLA, men det bättre alternativet är att ta bort all kontext från regioner och bara ta tillbaka hela länet. När sammanhanget har manipulerats inuti CALCULATE, börjar RANKX-funktionen sitt arbete därifrån.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

RANKX arbetar genom varje enskilt län på varje rad tillsammans med deras totala försäljning och rankar dem sedan. Det är så du får värdena 1 till X under raden Län (Uppdaterad). Som ett resultat kommer filter och utsnitt inte att spela någon roll och kommer inte att påverka rankningen eftersom formeln har ställts in för att ignorera dem.

Andra praktiska exempel på RANKX-mått LuckyTemplates

Nu när du har lärt dig grunderna i RANKX och LuckyTemplates DAX-koncept, låt oss utforska fler exempel på hur RANKX används. Gå först igenom ett exempel där RANKX används för att hitta topp- och bottenvärden. Nästa exempel visar RANKX som ett sätt att segmentera eller gruppera resultat.

Hitta topp- och bottenvärden med RANKX

En vanlig användning av RANKX är när du vill ta reda på dina topp- eller bottenvärden . Om du till exempel vill hitta dina toppkunder eller dina bottenprodukter kan du använda RANKX tillsammans med andra DAX-funktioner.

I det här första exemplet ska jag visa dig hur du kombinerar RANKX med CALCULATE och funktioner för att se vilka våra bästa kunder är, inte bara under en statisk tidsperiod utan också över tiden. Sedan kommer vi att visa upp det i en försäljningsmatris över våra topp 10 kunder.

När vi sätter måtten Kvartal & År  och  Total försäljning  i en matris får vi alla resultat. Det här är bra, men det kan vara väldigt svårt att se någon insikt och se trender.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Vi vill se trender och bestämma vilka våra topp 10 kunder är för denna period. Hade vi till exempel en kund som under en period var en av våra toppkunder men har fallit bort totalt? Det är den här typen av insikter vi letar efter.

Vi kan göra detta med en formel. Här är måttet som jag skapade för att beräkna vår totala försäljning för de kunder som sitter bland topp 10.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Vi måste använda rankningslogik  för att skapa en rankningslogikindikator som säger att om den här kunden är i topp 10, returnera detta totala försäljningsvärde. Förutom att använda RANKX i LuckyTemplates, kommer vi också att använda FILTER-funktionen och sedan använda VALUES, som kommer att skapa en intern tabell för varje enskild kund.

Sedan måste vi tänka på vilken logik vi ska skriva här, något som säger "om den nuvarande rangordningen är mindre än eller lika med 10 lika med total försäljning om inte, lika tomt." Det som är riktigt coolt med filterpåståenden som detta är att du kan skriva in den här typen av logik.

Så vi kommer att använda RANKX-funktionen och ALLA kundnamn eftersom vi kommer att rangordna varje kund i ett visst sammanhang. ALL tar bort alla filter på kundnamn så att vi kan slutföra denna rankning.

Vi kommer sedan att rangordna efter Total försäljning och rangordna i fallande ordning, och sedan kommer vi att gå mindre än eller lika med 10. Det gör det, vi vill att det ska vara lika med Total Sales, och om inte, gå tomt.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Slutligen kommer vi att ersätta vår totala försäljning med våra topp 10 kunder. Vi kan se de 10 bästa klienterna för varje enskild tidsperiod och implementera villkorlig formatering för att göra det visuellt bättre. Vi kan också använda för att få mer övertygande insikter.

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Om du säljer till kunder många gånger, kommer du att vilja förkorta tidsramen; men om det bara är du som säljer till kunder 2 eller 3 gånger per år, då vill du analysera saker från en längre tidsram.

Det finns en annan DAX-funktion, kallad TOPN, som också används för att rangordna insikter. Men det finns fortfarande en stor . Tänk på att TOPN är en tabellfunktion medan RANKX returnerar ett skalärt värde . Nyckeln är att förstå sammanhanget som du sätter dessa funktioner i.

Kombinera dynamisk gruppering med LuckyTemplates RANKX

Ett annat bra sätt att använda RANKX är att segmentera eller gruppera resultat snarare än att bara visa resultat för sig utan något sammanhang.

I det här exemplet, istället för att bara visa ett generiskt försäljningsresultat, vill jag se om en kund var i de högst rankade resultaten och sedan se om det förändras över tiden. Jag vill förstå hur mycket av vår försäljning som kommer från våra topp 5 kunder, topp 5 till 20, och sedan resten av våra kunder.

För att se om det finns en trend måste vi skapa dynamiska grupper och utvärdera dem över tid. Detta är mycket svårt att göra, särskilt om du arbetar från Excel. Men om du förstår DAX riktigt bra kan du skriva en formel som inte tar dig lång tid att skriva alls, och då blir det ett mönster som du kan använda om och om igen.

Här är måttet som jag skapade för det här scenariot:

RANKX DAX-funktion i LuckyTemplates: En omfattande översikt

Vi börjar med funktionen CALCULATE eftersom inget händer utan CALCULATE. Sedan lägger vi till Total försäljning eftersom det är vad vi summerar.

Därefter måste vi filtrera över en tabell med kundnamn som kommer att upprepas genom varje enskild kund, utvärdera vad deras rankning är och sedan se om deras rankning är över eller under MIN och MAX som vi just skapat.

Nästa steg är att använda funktionen och FILTER-funktionen igen. Välj sedan Kundgrupper, vilket är tabellen jag skapade.

Sedan ska vi iterera genom den här tabellen med RANKX. Vi beräknar den totala försäljningen överst men tabellen Kundgrupper är faktiskt rankningen. Vi måste få rankningen för var och en av dessa individuella kunder och sedan se om de är inom någon av grupperna som finns i tabellen Kundgrupper.

Vi kommer sedan att rangordna dem efter total försäljning och sedan välja DESC för att rangordna dem som 1 för den högsta och 200 för den lägsta. Vi kommer då att stänga av det med en större än för de högst rankade kunderna. Slutligen kommer vi att använda RANKX med den liknande logik som vi använde ovan, men då med mindre än eller lika med .

Du kan använda detta om och om igen i så många tillämpliga scenarier. RANKX gör det möjligt för dig att , vilket ger dig otroliga rankningsinsikter.

Slutsats

RANKX är enkel funktion, men inte lätt att använda. Nyckeln är att fokusera på dess nyanser för att bättre kunna förstå funktionen. Det finns så många sätt att använda RANKX-funktionen i DAX-beräkningar, speciellt när den kombineras med olika funktioner. Du kommer att bli förvånad över hur flexibel den här funktionen kan vara i LuckyTemplates.

Exemplen som jag har visat dig i den här bloggen är definitivt de bästa sätten att demonstrera RANKX, särskilt när det kommer till dess mångsidighet vid beräkning av rankningstypanalys. Det kan användas i ett antal olika scenarier.

Det viktigaste här är att du verkligen behöver förstå sammanhanget för var din RANKX-funktion placeras i.

Jag hoppas att du tycker att det här innehållet är användbart och använder det i din egen arbetsmiljö.

Skål!


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.

LuckyTemplates Map Visual: Hur man skapar och lägger till en anpassad legend i LuckyTemplates

LuckyTemplates Map Visual: Hur man skapar och lägger till en anpassad legend i LuckyTemplates

I den här handledningen lär du dig hur du bygger en anpassad förklaring i en LuckyTemplates Map Visual för att visa dina föredragna färger och segmentering.

LuckyTemplates bakgrundsbild för rapporter som använder PPT

LuckyTemplates bakgrundsbild för rapporter som använder PPT

Lär dig hur du ställer in en LuckyTemplates-bakgrundsbild med PowerPoint. Detta är en av mina tekniker för att skapa mina LuckyTemplates-rapporter.

Upphandlingsbeslutsmodell och analys i LuckyTemplates

Upphandlingsbeslutsmodell och analys i LuckyTemplates

I den här handledningen kommer vi att dyka in i en del inköpsanalyser inom en organisation, med hjälp av en interagerande funktion och kraften i datamodellen.