Løs en dataanalyseutfordring med LuckyTemplates Accelerator
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
er den mest brukte DAX-funksjonen for å rangere innsikt i LuckyTemplates. Det er en enkel funksjon, men kan likevel være frustrerende forvirrende for nybegynnere. Det er imidlertid en veldig kraftig funksjon som kan gi verdifull innsikt for rapportene dine.
I denne artikkelen vil du kjenne inn og ut av RANKX DAX-funksjonen. Du vil lære når og hvordan du bruker den, og du vil se hvor nyttig denne funksjonen er når vi utforsker noen scenarier og eksempler.
Innholdsfortegnelse
DAX RANKX funksjonsdefinisjon og syntaks
RANKX LuckyTemplates DAX-funksjonen returnerer rangeringen av et bestemt tall i en liste med tall for hver rad i tabellargumentet. Den kan brukes i beregninger både for beregnede kolonner og beregnede mål. Nedenfor er RANKX-formelsyntaksen.
RANKX(
, , , ,
)
For tabellparameteren kan du legge inn en standardtabell importert i LuckyTemplates eller en beregnet tabell gjennom DAX. RANKX, som en itererende funksjon , itererer deretter gjennom den tabellen og rangerer et spesifikt tall. Dette avhenger av antall verdier i tabellen. For eksempel, hvis tabellen har 20 verdier, vil RANKX ha et rangeringsresultat fra 1 til 20.
En nøkkel for å forstå RANKX-funksjonen er at den returnerer en skalarverdi . Innenfor uttrykksparameteren trenger vi et DAX-uttrykk som returnerer en skalarverdi. Dette uttrykket løkker og itererer gjennom hver rad i tabellen, og gir deg rangeringsverdiene tilsvarende.
Verdi- og rekkefølgeparametrene er valgfrie, mens bindingsparameteren hjelper deg med verdiene dine.
RANKX og LuckyTemplates DAX formelkonsepter
Det er en rekke konsepter å forstå godt for å sikre at rangeringsresultatene du forventer blir opprettet. Jeg vil diskutere det viktigste konseptet når du kjører en DAX-beregning, som er ''. Når du har funnet dette, kan du virkelig forstå hvordan du bruker RANKX-funksjonen effektivt.
RANKX er en veldig unik DAX-funksjon som krever et dypere nivå av tenkning rundt sin logikk og hvordan den faktisk fungerer når du kjører en beregning i en bestemt kontekst (for eksempel en tabell eller et diagram inne i LuckyTemplates).
Hver forskjellig parameter i DAX RANKX-funksjonen kan endre måten den beregner et resultat på. Det er flere parametere du kan legge inn i denne DAX-funksjonen for å forstå hvordan hver enkelt kan bestemme det underliggende resultatet, som anses som viktig.
Det er derfor det er viktig å forstå nøkkelelementene og konseptene for hvordan RANKX fungerer i en rekke sammenhenger. Dette vil gjøre deg i stand til å være sikker på at beregningene dine er korrekte og at forbrukerne ser på innsikt som faktisk gir mening.
Grunnleggende RANKX DAX-scenario
Først, la oss ta en titt på en enkel RANKX-beregning. I dette eksemplet prøver vi å identifisere rangeringen av disse produktene basert på salg (dette kan også være basert på et hvilket som helst mål) på tvers av alle de forskjellige produktene vi selger.
Primært må vi lage en tabell inne i RANKX for å evaluere hvert enkelt produkt basert på målet vi spesifiserte. Funksjonen kan brukes til å fjerne et hvilket som helst filter fra produkttabellen og til å evaluere hvert enkelt produkt.
Men hvis vi fjerner filteret (i dette tilfellet ALL- funksjonen), og bare bruker "Produkter", vil det vise et annet resultat. Dette er grunnen til at vi må for å få riktig resultat. Slik kan du løse enkle RANKX- beregninger.
Men hva om det blir mer komplekst? Hva om du trenger rangeringsresultater som ikke bare er basert på totalt salg? Vel, det er der vi må forstå den nåværende konteksten for denne beregningen. Vi trenger å vite hvordan vi kan manipulere konteksten for å få det resultatet vi ønsker.
Kompleks RANKX DAX-scenario
La oss prøve å få inn den nøyaktig lignende formelen (Produktrangeringsmål) inn i tabellen på høyre side.
Som du kan se, har det gitt oss nok et feilaktig resultat. Årsaken bak dette er at vi også har en kundenavn-kolonne her. Hvis vi ser på formelen igjen, vil du se at den ikke bryter ut hver enkelt kunde . Vi vurderer kun produktene for hver enkelt kunde.
La oss prøve å sortere ut kolonnen Kundenavn .
Selv om vi sorterer ut Kundenavn-kolonnen, vil produktrangeringen fortsatt endres basert på rangeringen av produktet de kjøpte. Det er mange tall som er like. Et eksempel er rang 17. I dette tilfellet kan det være fordi denne kunden kun har kjøpt 17 produkter .
Det er kanskje det du trenger i dette scenariet. Men hva om du trenger noe litt mer komplekst enn det? Hva om du trenger rangeringen fra 1 til en ubestemt verdi av kundenavn- og produktkontekstene?
Som jeg har understreket, er det viktig å forstå konteksten og hvordan vi manipulerer konteksten for å få det resultatet vi ønsker.
I vårt eksempel har vi to dimensjoner som er fra to helt forskjellige tabeller. Vi har kolonnen Kundenavn fra Kunder-tabellen og Produktnavn-kolonnen fra Produkttabellen.
Vi må på en eller annen måte fjerne filtre på denne virtuelle tabellen inne i RANKX-logikken fra begge to tabellene. Vi må gjøre det vi gjorde i den første tabellen (venstre side), men vi må gjøre det på tvers av både kundenavn- og produktnavn-kolonnene i begge tabellene.
Så vil vi etter hvert få riktig rangering via Totalt salg av kundenavn og produktnavn. Her er formelen vi kan bruke for dette distinkte scenariet.
Funksjonen lar oss slå sammen to kolonner, eller det kan også være to tabeller. Men i dette tilfellet vil vi bare slå sammen kolonner.
Vi fjerner alle filtrene fra både kunde- og produkttabeller. Deretter går vi gjennom hver enkelt rad i denne virtuelle tabellen og evaluerer eller identifiserer hvor den bestemte rangeringen for dette bestemte undersettet av kundenavn og produktnavn.
Avansert RANKX DAX eksempel
Som du kan se i de foregående eksemplene, gir RANKX-funksjonen deg verdifull innsikt når du bruker den i en rekke forskjellige sammenhenger på rapportsiden din. Det kan imidlertid også være en av de mest forvirrende funksjonene å bruke i LuckyTemplates. Det kan gi deg forskjellige resultater som ser ut til å være riktige, mens de faktisk er feil. Hvis du ikke er forsiktig, vil du ende opp med å omarbeide hele rapporten.
Du trenger en solid forståelse av kontekst og deretter lære hvordan du bruker RANKX i den konteksten.
Jeg skal dykke inn i hvor kompleks RANKX kan være noen ganger. Jeg skal gå gjennom et eksempel slik at du kan forstå de mange nyansene ved å jobbe med denne funksjonen.
I visualiseringen nedenfor har vi fylkesrangering, staters rangering og delstatsregionsrangering.
Det kan være vanskelig å administrere konteksten til beregningen hvis du vil se dem alle i én matrise. La oss se på tabellen. Du kan se at den har informasjon om statlige regioner, stat og fylke.
For dette eksemplet må du regne ut rangeringen av fylkene. Hvis du bare har fylkesrangering, fylkesrangering og totalt salg i tabellen, får du de riktige rangeringsresultatene:
Men når du begynner å legge lag på de andre kontekstene i tabellen, begynner rangeringsresultatet å samle seg for hvert fylke som er i forskjellige stater og delstatsregioner.
Så du må identifisere og endre konteksten for beregningen for å sikre at du får riktig total rangering for hvert fylke uavhengig av hva som er valgt på rapportsiden. Når du velger en stat som Colorado, oppdateres formelen også.
Du kan også gjøre et valg ved å bruke delstatsregioner. Hvis du velger Nordøst, viser den riktig rangering.
I dette eksemplet brukes to formler for å få fylkesrangeringen. Dette vil hjelpe deg å forstå forskjellen i resultatene generert ved å bruke forskjellige sammen med RANKX:
Formel #1: RANKX med ALLE OG ALLE SELECTED
ALL-funksjonen er nøkkeldelen av denne formelen for fylkesrangering:
Den manipulerer konteksten innenfor RANKX-formelen. Deretter itererer den gjennom Regions-tabellen og lager rangeringsresultatet. I dette tilfellet fungerer ALL-funksjonen praktisk talt gjennom hvert enkelt fylke uavhengig av den opprinnelige konteksten.
Dette problemet blir komplisert når du begynner å legge lag på slicer-kontekster. Ved å bruke vil rangeringen automatisk oppdateres avhengig av utvalget i sliceren. Du må også bruke for å plassere ekstra kontekst på et resultat eller for å endre konteksten for beregningen.
Konteksten justeres basert på filtrene i CALCUATE-funksjonen. Med dette vil rangeringen justeres basert på konteksten som kommer fra delstaten og delstatsregionen.
Formel #2: RANKX med ALLE OG VERDIER
La oss nå se på kolonnen Fylke (oppdatert).
Du vil forsikre deg om at denne kolonnen vil fortsette å vise den samlede rangeringen uavhengig av hva som er valgt i utsnittene. Hvert fylke bør ha et unikt nummer.
Dette er formelen som brukes:
For dette eksemplet fantes det ikke en måte å tyde et unikt fylke på, så en annen kolonne ble opprettet. Kolonnen Full County inkluderer fylke, stat og region.
Dette gir deg et godt skille mellom fylkene. På denne måten kan du nå jobbe med en virtuell tabell over fylkene som er i dataene. Før du gjør dette, må du fjerne ALL-konteksten fra Regions-tabellen.
Så enhver kontekst som kommer fra regionens bord eksisterer ikke på dette tidspunktet. Med funksjonen kan du legge tilbake konteksten til kolonnen Full County.
Ett alternativ er å referere til hver kolonne ved å bruke ALL-funksjonen, men det bedre alternativet er å kvitte seg med all kontekst fra regioner og bare bringe tilbake hele fylket. Når konteksten har blitt manipulert inne i CALCULATE, starter RANKX-funksjonen arbeidet derfra.
RANKX arbeider gjennom hvert eneste fylke på hver rad sammen med deres totale salg og rangerer dem deretter. Slik får du verdiene fra 1 til X under fylkesraden (Oppdatert). Som et resultat vil filtre og slicers ikke ha noen betydning og vil ikke påvirke rangeringen fordi formelen er satt til å ignorere dem.
Andre praktiske eksempler på RANKX-mål LuckyTemplates
Nå som du har lært det grunnleggende om RANKX og LuckyTemplates DAX-konsepter, la oss utforske flere eksempler på hvordan RANKX brukes. Gå først gjennom et eksempel der RANKX brukes til å finne topp- og bunnverdiene. Det neste eksemplet viser RANKX som en måte å segmentere eller gruppere resultater på.
Finne topp- og bunnverdier ved å bruke RANKX
En vanlig bruk av RANKX er når du vil finne ut dine topp- eller bunnverdier . Hvis du for eksempel ønsker å finne dine toppkunder eller dine bunnprodukter, kan du bruke RANKX sammen med andre DAX-funksjoner.
I dette første eksemplet skal jeg vise deg hvordan du kombinerer RANKX med CALCULATE og funksjoner for å se hvem våre beste kunder er, ikke bare for en statisk periode, men også over tid. Deretter vil vi vise det i en salgsmatrise av våre topp 10 kunder.
Når vi setter målene for kvartal og år og totalt salg i en matrise, får vi alle resultatene. Dette er flott, men det kan være veldig vanskelig å se noen innsikt og se trender.
Vi ønsker å se trender og finne ut hvem våre topp 10 kunder er for denne perioden. Hadde vi for eksempel en kunde som i en periode var en av våre toppkunder, men som har falt totalt bort? Dette er den typen innsikt vi leter etter.
Vi kan gjøre dette ved å bruke én formel. Her er målingen jeg opprettet for å beregne vårt totale salg for kundene som sitter på topp 10.
Vi må bruke rangeringslogikk for å lage en rangeringslogikkindikator som vil si at hvis denne kunden er på topp 10, så returner denne totale salgsverdien. Bortsett fra å bruke RANKX i LuckyTemplates, skal vi også bruke FILTER-funksjonen og deretter bruke VERDIER, som kommer til å lage en intern tabell for hver enkelt kunde.
Så må vi tenke på hvilken logikk vi skal skrive her, noe som sier "hvis den nåværende rangeringen er mindre enn eller lik 10 lik totalt salg hvis ikke, lik blank." Det som er veldig kult med filterutsagn som dette er at du kan skrive denne typen logikk inni.
Så vi skal bruke RANKX-funksjonen og ALLE kundenavn fordi vi skal rangere hver kunde i en bestemt kontekst. ALL blir kvitt ethvert filter på kundenavn slik at vi kan fullføre denne rangeringen.
Vi vil da rangere etter Totalt salg og rangere i synkende rekkefølge, og så vil vi gå mindre enn eller lik 10. Det gjør det, vi vil at det skal være likt Totalt salg, og hvis ikke, skal det gå blankt.
Til slutt vil vi erstatte vårt totale salg med våre topp 10 kunder. Vi kan se topp 10 klienter for hver eneste tidsperiode og implementere betinget formatering for å gjøre det visuelt bedre. Vi kan også bruke å ha mer overbevisende innsikt.
Hvis du selger til kunder mange ganger, vil du forkorte tidsrammen; men hvis det bare er du som selger til kunder 2 eller 3 ganger i året, vil du analysere ting fra en lengre tidsramme.
Det er en annen DAX-funksjon, kalt TOPN, som også brukes til å rangere innsikt. Imidlertid er det fortsatt en stor . Husk at TOPN er en tabellfunksjon mens RANKX returnerer en skalarverdi . Nøkkelen er å forstå konteksten du setter disse funksjonene inn i.
Kombinere dynamisk gruppering ved å bruke LuckyTemplates RANKX
En annen fin måte å bruke RANKX på er å segmentere eller gruppere resultater i stedet for bare å vise resultater alene uten kontekst.
I dette eksemplet, i stedet for bare å vise et generisk salgsresultat, vil jeg se om en kunde var i de topprangerte resultatene og deretter se om det endrer seg over tid. Jeg vil forstå hvor mye av salget vårt som kommer fra våre topp 5 kunder, topp 5 til 20, og deretter resten av kundene våre.
For å se om det er en trend som skjer, må vi lage dynamiske grupper og evaluere dem over tid. Dette er veldig vanskelig å gjøre, spesielt hvis du jobber fra Excel. Men hvis du forstår DAX veldig godt, kan du skrive en formel som ikke tar deg lang tid å skrive i det hele tatt, og så blir det et mønster du kan bruke om og om igjen.
Her er målingen jeg opprettet for dette scenariet:
Vi starter med CALCUATE-funksjonen fordi ingenting skjer uten CALCUATE. Deretter legger vi til Totalt salg fordi det er det vi summerer opp.
Deretter må vi filtrere over en tabell med kundenavn som vil iterere gjennom hver enkelt kunde, evaluere hva deres rangering er, og så se om rangeringen deres er over eller under MIN og MAX som vi nettopp opprettet.
Neste trinn er å bruke funksjonen og FILTER-funksjonen igjen. Velg deretter Kundegrupper, som er tabellen jeg opprettet.
Deretter skal vi iterere gjennom denne tabellen ved å bruke RANKX. Vi beregner totalt salg øverst, men tabellen over kundegrupper er faktisk rangeringen. Vi må få rangeringen til hver av disse individuelle kundene og deretter se om de er innenfor noen av gruppene som er i Kundegrupper-tabellen.
Vi vil deretter rangere dem etter Totalt salg, og deretter velge DESC for å rangere dem som 1 for den høyeste og 200 for den laveste. Vi vil da stenge det av med en større enn for de høyest rangerte kundene. Til slutt vil vi bruke RANKX med den lignende logikken vi brukte ovenfor, men da med mindre enn eller lik .
Du kan bruke dette om og om igjen i så mange aktuelle scenarier. RANKX lar deg , og gir deg utrolig rangeringsinnsikt.
Konklusjon
RANKX er enkel funksjon, men ikke enkel funksjon å bruke. Nøkkelen er å fokusere på nyansene for å kunne forstå funksjonen bedre. Det er så mange måter å bruke RANKX-funksjonen på i DAX-beregninger, spesielt når den kombineres med forskjellige funksjoner. Du vil bli overrasket over hvor fleksibel denne funksjonen kan være inne i LuckyTemplates.
Eksemplene som jeg har vist deg i denne bloggen er definitivt de beste måtene å demonstrere RANKX på, spesielt når det kommer til allsidigheten i beregningen av enhver rangeringstypeanalyse. Den kan brukes i en rekke forskjellige scenarier.
Det viktigste her er at du virkelig trenger å forstå konteksten for hvor RANKX-funksjonen din plasseres i.
Jeg håper du finner dette innholdet nyttig og bruker dette i ditt eget arbeidsmiljø.
Jubel!
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.
La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.
I denne opplæringen lærer du hvordan du bygger en egendefinert legende i en LuckyTemplates Map Visual for å vise dine foretrukne farger og segmentering.
Lær hvordan du setter opp et LuckyTemplates-bakgrunnsbilde ved hjelp av PowerPoint. Dette er en av teknikkene mine for å lage mine LuckyTemplates-rapporter.
I denne opplæringen skal vi dykke ned i noen innkjøpsanalyser i en organisasjon, ved å bruke en interaksjonsfunksjon og kraften til datamodellen.