Løs en dataanalyseudfordring med LuckyTemplates Accelerator
Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!
er den mest almindeligt anvendte DAX-funktion til at rangere indsigt i LuckyTemplates. Det er en simpel funktion, men kan alligevel være frustrerende forvirrende for nybegyndere. Det er dog en meget kraftfuld funktion, der kunne give værdifuld indsigt til dine rapporter.
I denne artikel vil du kende ins og outs af RANKX DAX-funktionen. Du vil lære, hvornår og hvordan du bruger den, og du vil se, hvor nyttig denne funktion er, når vi udforsker nogle scenarier og eksempler.
Indholdsfortegnelse
DAX RANKX funktionsdefinition og syntaks
Funktionen RANKX LuckyTemplates DAX returnerer rangeringen af et bestemt tal i en liste med tal for hver række i tabelargumentet. Det kan bruges i beregninger både til beregnede kolonner og beregnede mål. Nedenfor er RANKX formel syntaks.
RANKX(
, , , ,
)
For tabelparameteren kan du indtaste en standardtabel importeret i LuckyTemplates eller en beregnet tabel gennem DAX. RANKX, som en itererende funktion , itererer derefter gennem den tabel og rangerer et bestemt nummer. Dette afhænger af antallet af værdier i tabellen. For eksempel, hvis tabellen har 20 værdier, vil RANKX have et rangeringsresultat fra 1 til 20.
En nøgle til at forstå RANKX-funktionen er, at den returnerer en skalarværdi . Inden for udtryksparameteren har vi brug for et DAX-udtryk, der returnerer en skalarværdi. Dette udtryk sløjfer og itererer gennem hver række i tabellen, hvilket giver dig rangeringsværdierne i overensstemmelse hermed.
Værdi- og rækkefølgeparametrene er valgfrie, mens bindingsparameteren hjælper dig med dine værdier.
RANKX And Lucky Templates DAX Formel Concepts
Der er en række begreber, der skal forstås godt for at sikre, at de placeringsresultater, du forventer, bliver skabt. Jeg vil diskutere det vigtigste koncept, når du kører en DAX-beregning, som er ''. Når du først har fundet ud af dette, kan du virkelig forstå, hvordan du bruger RANKX-funktionen effektivt.
RANKX er en meget unik DAX-funktion, der kræver et dybere niveau af tænkning omkring dens logik, og hvordan den faktisk fungerer, når man kører en beregning i en bestemt kontekst (for eksempel en tabel eller et diagram inde i LuckyTemplates).
Hver anden parameter i DAX RANKX-funktionen kan ændre den måde, den beregner et resultat på. Der er flere parametre, som du kan indtaste i denne DAX-funktion for at forstå, hvordan hver enkelt kan bestemme det underliggende resultat, hvilket anses for vigtigt.
Derfor er det vigtigt at forstå nøgleelementerne og koncepterne for, hvordan RANKX fungerer i en række forskellige sammenhænge. Dette vil gøre dig i stand til at være sikker på, at dine beregninger er korrekte, og at dine forbrugere ser indsigt, der rent faktisk giver mening.
Grundlæggende RANKX DAX-scenarie
Lad os først tage et kig på en simpel RANKX-beregning. I dette eksempel forsøger vi at identificere rangeringen af disse produkter baseret på salg (dette kan også være baseret på ethvert mål) på tværs af alle de forskellige produkter, vi sælger.
Primært skal vi oprette en tabel inde i RANKX for at evaluere hvert enkelt produkt baseret på det mål, vi specificerede. Funktionen kan bruges til at fjerne ethvert filter fra produkttabellen og til at evaluere hvert enkelt produkt.
Men hvis vi fjerner filteret (i dette tilfælde ALL- funktionen), og bare bruger "Produkter", vil det vise et andet resultat. Det er derfor, vi er nødt til at få det rigtige resultat. Sådan kan du løse simple RANKX- beregninger.
Men hvad nu hvis det bliver mere komplekst? Hvad hvis du får brug for rangordningsresultater, der ikke kun er baseret på det samlede salg? Nå, det er her, vi skal forstå den aktuelle kontekst af denne beregning. Vi skal vide, hvordan vi kan manipulere konteksten for at få det resultat, vi ønsker.
Kompleks RANKX DAX-scenarie
Lad os prøve at bringe den nøjagtigt lignende formel (produktrangeringsmåling) ind i tabellen til højre.
Som du kan se, har det givet os endnu et fejlagtigt resultat. Grunden til dette er, at vi også har en kolonne med Kundenavn her. Hvis vi ser på formlen igen, vil du se, at den ikke udbryder hver enkelt kunde . Vi vurderer kun produkterne for hver enkelt kunde.
Lad os prøve at sortere kolonnen Kundenavn .
Selvom vi sorterer kolonnen Kundenavn fra, vil produktrangeringen stadig ændre sig baseret på rangeringen af det produkt, de købte. Der er mange tal, der er ens. Et eksempel er rang 17. I dette tilfælde kan det skyldes, at netop denne kunde kun har købt 17 produkter .
Det er måske det, du har brug for i dette scenarie. Men hvad nu hvis du får brug for noget lidt mere komplekst end det? Hvad hvis du har brug for rangeringen fra 1 til en ubestemt værdi af Kundenavn- og Produktkonteksterne?
Som jeg har understreget, er det vigtigt at forstå konteksten, og hvordan vi manipulerer konteksten for at få det resultat, vi ønsker.
I vores eksempel har vi to dimensioner, der er fra to helt forskellige tabeller. Vi har kolonnen Kundenavn fra tabellen Kunder og kolonnen Produktnavn fra tabellen Produkter.
Vi skal på en eller anden måde fjerne filtre på denne virtuelle tabel inde i RANKX-logikken fra begge to tabeller. Vi skal gøre, hvad vi gjorde i den første tabel (venstre side), men vi skal gøre det på tværs af både kolonnerne Kundenavn og Produktnavn i begge bestemte tabeller.
Så får vi i sidste ende den korrekte placering via Samlet salg af kundenavn og produktnavn. Her er formlen, som vi kan bruge til dette særskilte scenarie.
Funktionen giver os mulighed for at slå to kolonner sammen, eller det kan også være to tabeller. Men i dette tilfælde vil vi blot slutte os til kolonner.
Vi fjerner alle filtre fra både kunde- og produkttabeller. Derefter gentager vi hver enkelt række i denne virtuelle tabel og evaluerer eller identificerer, hvor den særlige rangering for denne særlige undergruppe af kundenavn og produktnavn.
Avanceret RANKX DAX eksempel
Som du kan se i de foregående eksempler, giver RANKX-funktionen dig værdifuld indsigt, når du bruger den til en række forskellige sammenhænge på din rapportside. Det kan dog også være en af de mest forvirrende funktioner at bruge i LuckyTemplates. Det kan give dig forskellige resultater, der ser ud til at være korrekte, når de faktisk er forkerte. Hvis du ikke er forsigtig, ender du med at skulle omarbejde hele rapporten.
Du har brug for en solid forståelse af kontekst og derefter lære at bruge RANKX i den sammenhæng.
Jeg vil dykke ned i, hvor kompleks RANKX nogle gange kan være. Jeg vil gennemgå et eksempel, så du kan forstå de mange nuancer ved at arbejde med denne funktion.
I visualiseringen nedenfor har vi Amtsrangering, Statsrangering og Statsregionsrangering.
Det kan være svært at administrere konteksten for beregningen, hvis du vil se dem alle i én matrix. Lad os se på bordet. Du kan se, at den har oplysninger om statsregioner, stat og amt.
For dette eksempel skal du regne ud rangeringen af amterne. Hvis du bare har Amt, Amtsrangering og Samlet salg i tabellen, får du de korrekte rangeringsresultater:
Men når først du begynder at lagde de andre sammenhænge i tabellen, begynder rangeringsresultatet at akkumulere for hvert amt, der er i forskellige stater og statsregioner.
Så du skal identificere og ændre konteksten for beregningen for at sikre, at du får den korrekte overordnede rangering for hvert amt, uanset hvad der er valgt på rapportsiden. Når du vælger en stat som Colorado, opdateres formlen også.
Du kan også foretage et valg ved at bruge Statsregioner. Hvis du vælger Nordøst, viser den den korrekte rangering.
I dette eksempel bruges to formler til at få amtsrangeringen. Dette vil hjælpe dig med at forstå forskellen i de resultater, der genereres ved at bruge forskellige sammen med RANKX:
Formel #1: RANKX med ALLE OG ALLE SELECTED
ALL-funktionen er nøgledelen af denne formel for County Rank:
Det manipulerer konteksten i RANKX-formlen. Den gentager derefter tabellen Regioner og opretter rangeringsresultatet. I dette tilfælde arbejder ALL-funktionen praktisk talt gennem hvert enkelt amt uanset den oprindelige kontekst.
Dette problem bliver kompliceret, når du begynder at lave lag på udsnitskontekster. Ved at bruge , vil rangeringen automatisk opdateres afhængigt af valget i sliceren. Du skal også bruge til at placere yderligere kontekst på et resultat eller til at ændre konteksten for beregningen.
Konteksten justeres baseret på filtrene i funktionen CALCUATE. Med dette vil rangeringen justeres baseret på konteksten, der kommer fra udskæringerne fra staten og statsregionen.
Formel #2: RANKX med ALLE OG VÆRDIER
Lad os nu se på kolonnen Amt (opdateret).
Du vil sikre dig, at denne kolonne fortsætter med at vise den overordnede rangering, uanset hvad der er valgt i udsnittene. Hvert amt bør have et unikt nummer.
Dette er den anvendte formel:
For dette eksempel var der ikke en måde at tyde et unikt amt på, så en anden kolonne blev oprettet. Kolonnen Fuldt amt inkluderer amt, stat og region.
Dette giver dig en god skelnen mellem amter. På denne måde kan du nu arbejde med en virtuel tabel over de amter, der er i dataene. Før du gør dette, skal du fjerne ALL-konteksten fra tabellen Regioner.
Så enhver kontekst, der kommer fra regionens tabel, eksisterer ikke på nuværende tidspunkt. Med funktionen kan du tilføje konteksten for kolonnen Fuldt amt igen.
En mulighed er at henvise til hver kolonne ved hjælp af funktionen ALLE, men det bedre alternativ er at slippe af med al kontekst fra regioner og kun bringe hele amtet tilbage. Når konteksten er blevet manipuleret inde i CALCULATE, starter RANKX-funktionen sit arbejde derfra.
RANKX arbejder gennem hvert enkelt amt på hver række sammen med deres samlede salg og rangerer dem derefter. Sådan får du værdierne fra 1 til X under rækken Amt (Opdateret). Som et resultat vil filtre og udsnitsværktøjer ikke have nogen betydning og vil ikke påvirke rangeringen, fordi formlen er indstillet til at ignorere dem.
Andre praktiske eksempler på RANKX-mål LuckyTemplates
Nu hvor du har lært det grundlæggende i RANKX og LuckyTemplates DAX-koncepter, lad os undersøge flere eksempler på, hvordan RANKX bruges. Gå først et eksempel igennem, hvor RANKX bruges til at finde top- og bundværdierne. Det næste eksempel viser RANKX som en måde at segmentere eller gruppere resultater på.
Find top- og bundværdier ved hjælp af RANKX
En almindelig brug af RANKX er, når du vil finde ud af dine top- eller bundværdier . Hvis du for eksempel vil finde dine topkunder eller dine bundprodukter, kan du bruge RANKX sammen med andre DAX-funktioner.
I dette første eksempel vil jeg vise dig, hvordan du kombinerer RANKX med CALCULATE og funktioner for at se, hvem vores topkunder er, ikke kun i en statisk periode, men også over tid. Derefter vil vi fremvise det i en salgsmatrix over vores top 10 kunder.
Når vi sætter målene for kvartal og år og det samlede salg i en matrix, får vi alle resultaterne. Det er fantastisk, men det kan være meget svært at se nogen indsigt og spotte trends.
Vi ønsker at se tendenser og bestemme, hvem vores top 10 kunder er i denne periode. Havde vi for eksempel en kunde, som i en periode var en af vores topkunder, men som er faldet totalt væk? Det er den slags indsigt, vi leder efter.
Vi kan gøre dette ved at bruge én formel. Her er det mål, jeg oprettede for at beregne vores samlede salg for de kunder, der sidder i Top 10.
Vi er nødt til at bruge ranking logik til at skabe en ranking logik indikator, der vil sige, at hvis denne kunde er i Top 10, så returner denne samlede salgsværdi. Udover at bruge RANKX i LuckyTemplates, kommer vi også til at bruge FILTER-funktionen og derefter bruge VALUES, som vil skabe en intern tabel for hver enkelt kunde.
Så er vi nødt til at tænke over, hvilken logik vi skal skrive her, noget, der siger "hvis den nuværende rang er mindre end eller lig med 10 lig med det samlede salg, hvis ikke, lig blank." Det, der er rigtig fedt ved filterudsagn som denne, er, at du kan skrive denne type logik indeni.
Så vi kommer til at bruge RANKX-funktionen og ALLE kundenavne, fordi vi vil rangere hver kunde i en bestemt sammenhæng. ALL fjerner ethvert filter på kundenavne, så vi kan fuldføre denne rangering.
Vi vil derefter rangere efter Total Sales og rangere i faldende rækkefølge, og så vil vi gå mindre end eller lig med 10. Det gør det, vi vil have det til at være lig med Total Sales, og hvis ikke, skal det gå blankt.
Til sidst erstatter vi vores samlede salg med vores top 10 kunder. Vi kan se de 10 bedste klienter for hver eneste tidsperiode og implementere betinget formatering for at gøre det visuelt bedre. Vi kan også bruge til at have mere overbevisende indsigt.
Hvis du sælger til kunder mange gange, vil du gerne forkorte tidsrammen; men hvis det kun er dig, der sælger til kunder 2 eller 3 gange om året, vil du gerne analysere tingene fra en længere tidsramme.
Der er en anden DAX-funktion, kaldet TOPN, som også bruges til at rangere indsigter. Der er dog stadig en stor. Husk, at TOPN er en tabelfunktion, mens RANKX returnerer en skalarværdi . Nøglen er at forstå den kontekst , du sætter disse funktioner ind i.
Kombination af dynamisk gruppering ved hjælp af LuckyTemplates RANKX
En anden god måde at bruge RANKX på er at segmentere eller gruppere resultater i stedet for blot at vise resultater for sig selv uden nogen kontekst.
I dette eksempel vil jeg i stedet for blot at vise et generisk salgsresultat se, om en kunde var i de toprangerede resultater og derefter se, om det ændrer sig over tid. Jeg vil gerne forstå, hvor meget af vores salg, der kommer fra vores Top 5 kunder, Top 5 til 20, og derefter resten af vores kunder.
For at se, om der sker en tendens, er vi nødt til at skabe dynamiske grupper og evaluere dem over tid. Dette er meget svært at gøre, især hvis du arbejder fra Excel. Men hvis du forstår DAX rigtig godt, kan du skrive en formel, der slet ikke tager dig lang tid at skrive, og så bliver det et mønster, som du kan bruge igen og igen.
Her er det mål, jeg oprettede til dette scenarie:
Vi starter med funktionen CALCUATE, fordi der ikke sker noget uden CALCUATE. Derefter tilføjer vi det samlede salg, fordi det er det, vi opsummerer.
Dernæst skal vi filtrere over en tabel med kundenavne, der vil gentage hver enkelt kunde, evaluere deres placering og derefter se, om deres placering er over eller under MIN og MAX, som vi lige har oprettet.
Næste trin er at bruge funktionen og FILTER-funktionen igen. Vælg derefter Kundegrupper, som er den tabel, jeg har oprettet.
Derefter vil vi gentage denne tabel ved hjælp af RANKX. Vi beregner det samlede salg øverst, men tabellen Kundegrupper er faktisk rangeringen. Vi skal finde rangeringen af hver af disse individuelle kunder og derefter se, om de er inden for nogen af de grupper, der er i tabellen Kundegrupper.
Vi vil derefter rangere dem efter Total Sales, og derefter vælge DESC for at rangere dem som 1 for den højeste og 200 for den laveste. Vi vil så lukke det af med en større end for de højest rangerede kunder. Til sidst vil vi bruge RANKX med den lignende logik, vi brugte ovenfor, men derefter med mindre end eller lig med .
Du kan bruge dette igen og igen i så mange anvendelige scenarier. RANKX giver dig mulighed for at , hvilket giver dig utrolig indsigt i rangering.
Konklusion
RANKX er enkel funktion, men ikke nem funktion at bruge. Nøglen er at fokusere på dens nuancer for bedre at kunne forstå funktionen. Der er så mange måder til RANKX-funktionen i DAX-beregninger, især når det kombineres med forskellige funktioner. Du vil blive overrasket over, hvor fleksibel denne funktion kan være inde i LuckyTemplates.
Eksemplerne, som jeg har vist dig i denne blog, er absolut de bedste måder at demonstrere RANKX på, især når det kommer til dens alsidighed til at beregne enhver rankingstypeanalyse. Det kan bruges i en række forskellige scenarier.
Det vigtigste her er, at du virkelig skal forstå konteksten af, hvor din RANKX-funktion bliver placeret.
Jeg håber, at du finder dette indhold nyttigt og bruger det i dit eget arbejdsmiljø.
Skål!
Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!
Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.
Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af variabler for, hvordan dine mål beregnes.
Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.
Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.
Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.
Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.
I dette selvstudie lærer du, hvordan du bygger en brugerdefineret forklaring i en LuckyTemplates-kortvisual for at vise dine foretrukne farver og segmentering.
Lær, hvordan du opsætter et LuckyTemplates-baggrundsbillede ved hjælp af PowerPoint. Dette er en af mine teknikker til at skabe mine LuckyTemplates-rapporter.
I denne tutorial skal vi dykke ned i nogle indkøbsanalyser i en organisation ved at bruge en interagerende funktion og kraften i datamodellen.