Del via


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 eller value 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 i expression, legger RANKX midlertidig value til verdiene fra expression og evaluerer RANKX på nytt for å bestemme riktig rangering av value.

  • 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]))