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.
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.
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.
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:
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.
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.
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.
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:
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.
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.
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
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
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.
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ä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.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
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.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
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.
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.