RANKX
gäller för:beräknad kolumnberäknad tabellMåttVisuell beräkning
Returnerar rangordningen för ett tal i en lista med tal för varje rad i argumentet table
.
Syntax
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametrar
table
Alla DAX uttryck som returnerar en tabell med data som uttrycket utvärderas över.
expression
Alla DAX uttryck som returnerar ett enda skalärt värde. Uttrycket utvärderas för varje rad i table
, för att generera alla möjliga värden för rangordning. Se avsnittet kommentarer för att förstå funktionsbeteendet när expression
utvärderas till BLANK.
value
(valfritt) Alla DAX uttryck som returnerar ett enda skalärt värde vars rangordning ska hittas. Se avsnittet kommentarer för att förstå funktionens beteende när value
inte hittas i uttrycket.
När parametern value
utelämnas används uttryckets värde på den aktuella raden i stället.
order
(valfritt) Ett värde som anger hur du rangordnar value
, låg till hög eller hög till låg:
värde | alternativt värde | beskrivning |
---|---|---|
0 (noll) | FALSE |
Rangordnar i fallande ordning efter uttrycksvärden. Om värdet är lika med det högsta talet i uttrycket returnerar RANKX 1. Detta är standardvärdet när orderparametern utelämnas. |
1 | TRUE |
Rangordnar i stigande uttrycksordning. Om värdet är lika med det lägsta talet i uttrycket returnerar RANKX 1. |
ties
(valfritt) En uppräkning som definierar hur rangordningen ska bestämmas när det finns band.
uppräkning | beskrivning |
---|---|
Skip |
Nästa rankningsvärde, efter ett oavgjort resultat, är rankningsvärdet för oavgjort plus antalet bundna värden. Om till exempel fem (5) värden är bundna med rangordningen 11 får nästa värde en rangordning på 16 (11 + 5). Det här är standardvärdet när ties parameter utelämnas. |
Dense |
Nästa rankningsvärde, efter ett oavgjort resultat, är nästa rankningsvärde. Om till exempel fem (5) värden är bundna med rangordningen 11 får nästa värde en rangordning på 12. |
Returvärde
Rangordna antalet value
bland alla möjliga värden för expression
utvärderas för alla rader med table
tal.
Kommentarer
Om
expression
ellervalue
utvärderas till BLANK behandlas den som 0 (noll) för alla uttryck som resulterar i ett tal eller som en tom text för alla textuttryck.Om
value
inte finns bland alla möjliga värden förexpression
lägger RANKX tillfälligt tillvalue
till värdena frånexpression
och utvärderar RANKX för att fastställa rätt rangordning förvalue
.Valfria argument kan hoppas över genom att placera ett tomt kommatecken (,) i argumentlistan, till exempel
RANKX(Inventory, [InventoryCost],,,"Dense")
.Likhetsrelaterade jämförelser (
=
,<
,>
,>=
och<=
) mellan värden med decimaltal datatyp kan potentiellt returnera oväntade resultat när du använder funktionen RANKX. Felaktiga resultat kan inträffa eftersom värden med decimaltal datatyp lagras som flyttalsnummer i IEEE Standard 754 och har inneboende begränsningar i deras precision. Undvik oväntade resultat genom att ändra datatypen till fast decimaltal eller utföra en tvingad avrundning med hjälp av ROUND.Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).
Exempel
Följande beräknade kolumn i tabellen Produkter beräknar försäljningsrankningen för varje produkt i Internetkanalen.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))