RANKX Deep Dive: A LuckyTemplates DAX-funksjon

I dag skal vi dykke dypt inn i RANKX, en skalar DAX-funksjon i LuckyTemplates som lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Innholdsfortegnelse

Eksempelscenarier

Vi vil analysere noen av de viktigste scenariene, inkludert når det skal refereres til en hel tabell og feltnavn i .

Vi vil også undersøke hva som skjer når reduksjonene og når en sorteringsrekkefølge brukes over et felt. Til slutt vil vi se nærmere på den beste praksisen for å referere til et tabellnavn eller et feltnavn langs tabellen, og hvordan rangeringen evalueres på baksiden.

RANKX Scenario 1: Kunderangering

I vårt første scenario ønsker vi å beregne rangeringen av kundene våre og referere til hele kundenes tabell inne i RANKX-funksjonen. Til syvende og sist vil vi finne ut hvordan resultatene blir evaluert.

Så la oss begynne med å åpne LuckyTemplates og klikke på Total Sales options-knappen under Key Measures- fanen og deretter gå til New Measure . Skriv et mål for kunderangeringen (f.eks. "Kunderrangering =").

Du kan se resultatene ved å dra kunderangeringsmålet inn i tabellen.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Men er dette den beste tilnærmingen for hvert scenario? Hva om det er to personer med samme navn, men i forskjellige byer? Eller hva om vi har to steder med samme navn, men forskjellige territorier?

RANKX Scenario 2: Byrangering V1

La oss nå bruke samme tilnærming i det første scenariet. Denne gangen vil vi imidlertid bruke den over regiontabellen der vi har to byer med samme navn, men på to forskjellige steder.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Som du kan se på bildet ovenfor, inne i regionstabellen, har vi to byer med samme navn, men de er tilgjengelige under to forskjellige territorier. Så hva skjer når vi bruker de samme trinnene fra vårt forrige scenario?

Resultatene vil se omtrent slik ut:

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Nå begynner vi å se et problem med rangeringsformelen vår. Siden RANKX-funksjonen itererer over et helt sett med tabeller, kan den ikke konsolidere resultatene for byene med samme navn, som er tilgjengelige under to forskjellige territorier. Dette resulterer til slutt i en feil.

For å løse dette problemet må du referere til feltnavnet inne i RANKX-funksjonen og tabellnavnet, akkurat som i bildet nedenfor.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Så hvordan fikset det feilen? Når vi refererer til et feltnavn inne i RANKX-funksjonen, vil det iterere det bare gjennom den kolonnen og ikke over hele tabellen.

Det vil fjerne duplikatene selv om de to byene er tilgjengelige i to forskjellige territorier, og dermed konsolidere dem som én enkelt by.

RANKX Scenario 3: Territoriumrangering

Så hva skjer når granularitetsnivået avtar?

I dette tilfellet vil du se feilen mens du beregner rangeringen på territorielt nivå. Årsaken er at når vi kun refererer til tabellnavnet og ignorerer kolonnenavnet igjen, itererer det det over en hel tabell, og klarer dermed ikke å konsolidere resultatene på territorielt nivå.

For å få de riktige resultatene på territoriellt nivå, må du referere til territoriefeltet i regiontabellen. Men når bør du referere til hele tabelltemaet og inkludere feltnavnet sammen med tabellen?

Når rangering brukes over det laveste granularitetsnivået, kan vi referere til tabellnavnet og ignorere feltnavnet.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Men når granularitetsnivået avtar, må vi referere til kolonnenavnet sammen med tabellnavnet. Foreløpig analyserer vi bare resultatene i en enkelt visualisering, det vil si en tabell.

Cities RankingV2: The Better Approach Using Slicer

La oss duplisere det andre scenariet der venstre side av visualobjektet kun vil referere til et tabellnavn mens høyre side refererer til kolonnenavnet inne i RANKX-funksjonen. Vi vil deretter sammenligne resultatene ved å bringe en slicer inn på den siden i form av territorier, som resulterer i bildet nedenfor.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Når vi gjør et valg i sliceren, vil du legge merke til at på venstre side av tabellen viser den ikke resultatet i seriell rekkefølge siden RANKX itererer over hele regionens tabell. På høyre side av tabellbildet vil du imidlertid se resultatene i seriell rekkefølge.

Årsaken er at RANKX bare itererer over en spesifikk tabellkolonne, slik at den kan filtrere ut resultatene i henhold til valget gjort i sliceren. Det er også en av de viktigste tingene å huske.

Hvis vi ønsker å se de samlede rangeringsresultatene, kan vi kun referere til tabellnavnet i .

Men hvis vi vil at resultatene våre skal være i seriell rekkefølge i henhold til valget som er gjort i sliceren, må vi også referere til et kolonnenavn inne i funksjonen.

RANKX Scenario 4: Produktrangering

Til slutt, la oss fortsette med vårt siste scenario. La oss undersøke hva som skjer når vi legger en produktordre over et bestemt felt og hvordan RANKX evaluerer rangeringen på baksiden.

I dette scenariet bruker vi produktnavn fra produkttabellen for å analysere hvilke som er våre .

Så akkurat som i det første scenariet, må du skrive et rangeringsmål for produktene dine (i dette tilfellet, bruk godt produktrangering). Hvis du tar med produktets rangeringsmål inn i det visuelle, vil du se et resultat akkurat som bildet nedenfor:

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Du kan se at selv om vi har referert til produktnavnfeltet vårt i RANKX-funksjonen, evaluerer det ikke resultatene riktig. Så hvorfor skjer dette? For å svare på dette spørsmålet, må vi åpne.

RANKX Scenario 5: DAX Studio

Så la oss åpne DAX studio og se hvordan RANKX evaluerer rangeringsresultatene på baksiden.

På bildet nedenfor har jeg kopiert spørringen til tabellen visual via og limt den inn i DAX studio. Som du kan se i denne spørringen, er det også produktindeksen, et sorteringsfelt inne i produkttabellen.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Selv om vi i tabellvisualen vår bare tok med produktnavn, totalt salg og rangeringsmål, er dette feltet referert til som standard bakerst i rangeringsberegningen.

Så nå, la oss fikse vårt produktrangeringsmål ved å referere til sorteringsfeltet inne i RANKX-funksjonen og se resultatene for siste gang.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

Som du kan se på bildet ovenfor, blir resultatene for produktnavnene nå korrekt evaluert. Derfor, når vi har et felt sortert etter et annet felt, må vi referere til begge feltene i RANKX-funksjonen basert på alle scenariene vi har diskutert i dag.

Konklusjon

Så det er noen av scenariene når du bruker RANKX-funksjonen i DAX-beregninger. Totalt sett er det mange flere måter du kan gjøre det på i en omfattende rekke funksjoner.

Det viktigste å huske er at du må forstå konteksten din RANKX-funksjonen plasseres i.

RANKX er eksepsjonelt allsidig til å beregne enhver rangeringstypeanalyse inne i LuckyTemplates. Den muliggjør også avansert innsikt som imponerer forbrukerne av rapportene og visualiseringene dine.

Beste ønsker,

Barske Anil Joshi


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.