Dela via


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 eller value 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ör expression lägger RANKX tillfälligt till value till värdena från expression och utvärderar RANKX för att fastställa rätt rangordning för value.

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