RANK
gäller för:beräknad kolumnberäknad tabellMeasurevisuell beräkning
Returnerar rangordningen för den aktuella kontexten inom den angivna partitionen, sorterad efter angiven ordning. If det går inte att hitta en matchning är rankblank.
Syntax
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametrar
Term | Definition |
---|---|
ties |
(Valfritt) Definierar hur rangordningen ska hanteras när två or fler rader är bundna.
If anges är den value som stöds antingen TÄT, or SKIP. If utelämnas: – Standardinställningar för SKIP |
relation |
(Valfritt) Ett tabelluttryck som utdataraden returneras från.
If anges måste all kolumner i orderBy andpartitionBy komma från den.
If utelämnas: - orderBy måste anges uttryckligen.– All orderBy andpartitionBy kolumner måste vara fullständigt kvalificerade and komma från en enda tabell.
– Standardvärdet är ALLSELECTED() för all kolumner i orderBy andpartitionBy . |
axis |
(Valfritt) En axel i den visuella formen. Endast tillgängligt i visuella beräkningar ersätter andrelation . |
orderBy |
(Valfritt) En ORDERBY-sats () som innehåller kolumnerna som define hur varje partition sorteras.
If utelämnas: - relation måste anges uttryckligen.
– Standardinställningen är att sortera efter varje kolumn i relation som not redan har angetts i partitionBy . |
blanks |
(Valfritt) En uppräkning som definierar hur du hanterar blankvalues vid sortering.
De values som stöds är:
Observera att när både blanks parameter and blanks i ORDERBY() för enskilda uttryck anges, blanks för enskilda orderBy uttryck prioriteras för det relevanta orderBy uttrycket, andorderBy uttryck utan att blanks anges kommer att respektera blanks parametern på den överordnade Window funktionen. |
partitionBy |
(Valfritt) En PARTITIONBY-sats () som innehåller kolumnerna som define hur relation partitioneras.
If utelämnas behandlas relation som en enda partition. |
matchBy |
(Valfritt) En MATCHBY-sats () som innehåller kolumnerna som define hur du matchar data and identifiera den aktuella raden. |
reset |
(Valfritt) Endast tillgängligt i visuella beräkningar. Anger if beräkningen återställs, and på vilken nivå av den visuella formens kolumnhierarki. Godkända values är: en fältreferens till en kolumn i den aktuella visuella formen, NONE (standard), LOWESTPARENT , HIGHESTPARENT , or ett heltal. Beteendet beror på heltal sign: – If noll or utelämnas återställs beräkningen not. Motsvarar NONE .
– If positivt identifierar heltal kolumnen med början från den högsta, oberoende av kornighet. HIGHESTPARENT motsvarar 1.
– If negativt identifierar heltal kolumnen med början från den lägsta, i förhållande till det aktuella kornet. LOWESTPARENT motsvarar -1. |
Returnera value
Det rank talet för den aktuella kontexten.
Anmärkningar
Varje
orderBy
,partitionBy
, andmatchBy
kolumn måste ha motsvarande yttre value för att define den aktuella raden som ska användas, med följande beteende:- If det finns exakt en motsvarande yttre kolumn används dess value.
-
If det inte finns någon motsvarande yttre kolumn:
-
RANK avgör firstall
orderBy
,partitionBy
, andmatchBy
kolumner som inte har någon motsvarande yttre kolumn. - För varje kombination av befintliga values för dessa kolumner i RANK överordnad kontext utvärderas RANKand en rad returneras.
- RANKslututdata är ett rank tal.
-
RANK avgör firstall
If
matchBy
finns försöker RANK använda kolumner imatchBy
andpartitionBy
för att idenfity den aktuella raden.If kolumnerna som anges i
orderBy
andpartitionBy
inte unikt kan identifiera varje rad irelation
kan två or fler rader ha samma rangordning and rangordningen bestäms av parametern ties.RANK returnerar en blankvalue för totalt antal rader. Vi rekommenderar att du testar uttrycket noggrant.
RANK jämför not med RANKX eftersom SUM jämförs med SUMX.
reset
kan endast användas i visuella beräkningar kan and inte användas i kombination medorderBy
orpartitionBy
. Ifreset
finns kanaxis
anges, menrelation
kan inte det.
Exempel 1 – beräknad kolumn
Följande DAX fråga:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"Rank",
RANK(
DENSE,
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
LAST,
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Returnerar en tabell som rangordnar varje geografi med samma EnglishCountryRegionName efter deras StateProvinceName and City.
Blank
orderBy
kolumn values sorteras i slutet.
Exempel 2 – visuell beräkning
Följande visuella beräkning DAX frågor:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Skapa två kolumner som rank varje month av den totala försäljningen, båda inom varje year, and hela historiken.
Skärmbilden nedan visar den visuella matrisen and det first visuella beräkningsuttrycket: