RANKX
gjelder:beregnet kolonneberegnet tabellmålevisualobjektberegning
Returnerer rangeringen av et tall i en liste med tall for hver rad i argumentet table
.
Syntaks
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametere
table
Alle DAX uttrykk som returnerer en tabell med data som uttrykket evalueres over.
expression
Alle DAX uttrykk som returnerer én enkelt skalarverdi. Uttrykket evalueres for hver rad med table
, for å generere alle mulige verdier for rangering. Se kommentardelen for å forstå funksjonens virkemåte når expression
evalueres til BLANK.
value
(valgfritt) Alle DAX uttrykk som returnerer én enkelt skalarverdi hvis rangering finnes. Se kommentardelen for å forstå funksjonens virkemåte når value
ikke finnes i uttrykket.
Når value
-parameteren utelates, brukes verdien for uttrykket i gjeldende rad i stedet.
order
(valgfritt) En verdi som angir hvordan du rangerer value
, lav til høy eller høy til lav:
verdi | alternativ verdi | Bekrivelse |
---|---|---|
0 (null) | FALSE |
Rangerer i synkende rekkefølge av verdiene i uttrykket. Hvis verdien er lik det høyeste tallet i uttrykket, returnerer RANKX 1. Dette er standardverdien når ordreparameteren utelates. |
1 | TRUE |
Rangerer i stigende rekkefølge av uttrykk. Hvis verdien er lik det laveste tallet i uttrykket, returnerer RANKX 1. |
ties
(valgfritt) En opplisting som definerer hvordan du bestemmer rangering når det er bånd.
Opplisting | Bekrivelse |
---|---|
Skip |
Den neste rangeringsverdien, etter et slips, er rangeringsverdien for slipset pluss antall bundne verdier. Hvis for eksempel fem (5) verdier er bundet med en rangering på 11, vil den neste verdien motta en rangering på 16 (11 + 5). Dette er standardverdien når ties parameter utelates. |
Dense |
Den neste rangeringsverdien, etter et slips, er den neste rangeringsverdien. Hvis for eksempel fem (5) verdier er bundet med en rangering på 11, vil den neste verdien få en rangering på 12. |
Returverdi
Rangeringsantallet value
blant alle mulige verdier i expression
evaluert for alle rader med table
tall.
Merknader
Hvis
expression
ellervalue
evalueres til BLANK behandles den som 0 (null) for alle uttrykk som resulterer i et tall, eller som en tom tekst for alle tekstuttrykk.Hvis
value
ikke er blant alle mulige verdier iexpression
, legger RANKX midlertidigvalue
til verdiene fraexpression
og evaluerer RANKX på nytt for å bestemme riktig rangering avvalue
.Valgfrie argumenter kan hoppes over ved å plassere et tomt komma (,) i argumentlisten, for eksempel
RANKX(Inventory, [InventoryCost],,,"Dense")
.Likhetsrelaterte sammenligninger (
=
,<
,>
,>=
og<=
) mellom verdier med datatypen desimaltall kan potensielt returnere uventede resultater når du bruker RANKX-funksjonen. Feil resultater kan oppstå fordi verdier med desimaltall datatypen lagres som IEEE Standard 754 flytende punkttall og har iboende begrensninger i presisjonen. Hvis du vil unngå uventede resultater, endrer du datatypen til fast desimaltall eller foretar en tvungen avrunding ved hjelp av ROUND.Denne funksjonen støttes ikke for bruk i DirectQuery-modus når den brukes i beregnede kolonner eller regler for sikkerhet på radnivå (RLS).
Eksempel
Den følgende beregnede kolonnen i Produkter-tabellen beregner salgsrangeringen for hvert produkt i Internett-kanalen.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))