RANKX
Gäller för: Beräknad kolumn Beräknad tabell Mått Visuell beräkning
Returnerar rangordningen för ett tal i en lista med tal för varje rad i tabellargumentet.
Syntax
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametrar
table
Alla DAX-uttryck som returnerar en tabell med data som uttrycket utvärderas över.
uttryck
Alla DAX-uttryck som returnerar ett enda skalärt värde. Uttrycket utvärderas för varje rad i tabellen för att generera alla möjliga värden för rangordning. Se avsnittet kommentarer för att förstå funktionsbeteendet när uttrycket utvärderas till BLANK.
värde
(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 värdet inte hittas i uttrycket.
När värdeparametern utelämnas används uttryckets värde på den aktuella raden i stället.
order
(Valfritt) Ett värde som anger hur du rangordnar värde, lågt till högt eller högt till lågt:
värde | alternativt värde | beskrivning |
---|---|---|
0 (noll) | Falskt | 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 | Sant | Rangordnar i stigande uttrycksordning. Om värdet är lika med det lägsta talet i uttrycket returnerar RANKX 1. |
Band
(Valfritt) En uppräkning som definierar hur rangordningen ska bestämmas när det finns band.
uppräkning | beskrivning |
---|---|
Hoppa över | 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 parametern ties utelämnas. |
Tät | 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
Rangnumret för värde bland alla möjliga värden för uttryck som utvärderats för alla rader med tabellnummer .
Kommentarer
Om uttrycket eller värdet utvärderas till BLANK behandlas det som 0 (noll) för alla uttryck som resulterar i ett tal eller som en tom text för alla textuttryck.
Om värdet inte finns bland alla möjliga uttrycksvärden lägger RANKX tillfälligt till värden från uttrycket och utvärderar RANKX igen för att fastställa rätt värderankning.
Valfria argument kan hoppas över genom att placera ett tomt kommatecken (,) i argumentlistan, dvs. RANKX(Inventory, [InventoryCost],,,"Dense")
Likhetsrelaterade jämförelser (=, <>, >= och <=) mellan värden med datatypen Decimaltal kan potentiellt returnera oväntade resultat när du använder funktionen RANKX. Felaktiga resultat kan inträffa eftersom värden med datatypen Decimaltal lagras som IEEE Standard 754-flyttalsnummer och har inneboende begränsningar i deras precision. För att undvika oväntade resultat ändrar du datatypen till Fast decimaltal eller gör 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]))