RANK
Gilt für:Berechnete Spalteberechnete TabelleMeasurevisuelle Berechnung
Gibt die Rangfolge für den aktuellen Kontext innerhalb der angegebenen Partition zurück, sortiert nach der angegebenen Reihenfolge. If eine Übereinstimmung nicht gefunden werden kann, dann wird rankblank.
Syntax
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parameter
Ausdruck | Definition |
---|---|
ties |
(Optional) Definiert, wie die Rangfolge behandelt wird, wenn zwei or mehr Zeilen gebunden sind.
If angegeben, ist die unterstützte value entweder DENSE, or SKIP. If weggelassen: - Standardwert für SKIP |
relation |
(Optional) Ein Tabellenausdruck, aus dem die Ausgabezeile zurückgegeben wird.
If angegeben, müssen all Spalten in orderBy andpartitionBy daraus stammen.
If weggelassen: - orderBy muss explizit angegeben werden.– All orderBy andpartitionBy Spalten müssen vollqualifizierte and aus einer einzelnen Tabelle stammen.
– Standardmäßig werden ALLSELECTED() von all Spalten in orderBy andpartitionBy . |
axis |
(Optional) Eine Achse in der visuellen Form. Nur in visuellen Berechnungen verfügbar, and ersetzt relation . |
orderBy |
(Optional) Eine ORDERBY() Klausel, die die Spalten enthält, die define, wie jede Partition sortiert wird.
If weggelassen: - relation muss explizit angegeben werden.
– Standardmäßig wird jede Spalte in relation sortiert, die bereits in partitionBy angegeben not ist. |
blanks |
(Optional) Eine Aufzählung, die definiert, wie blankvalues beim Sortieren behandelt wird.
Die unterstützten values sind:
Hinweis: Wenn blanks and Parameter leer in ORDERBY() Funktion für einzelne Ausdrücke angegeben wird, hat blanks für einzelne orderBy Ausdruck Vorrang für den relevanten orderBy Ausdruck, andorderBy Ausdrücke, ohne blanks angegeben zu werden, berücksichtigt blanks Parameter für die übergeordnete Window-Funktion. |
partitionBy |
(Optional) Eine PARTITIONBY() Klausel, die die Spalten enthält, die define, wie relation partitioniert werden.
If weggelassen, wird relation als einzelne Partition behandelt. |
matchBy |
(Optional) Eine MATCHBY() Klausel, die die Spalten enthält, die define, wie Daten übereinstimmen, and die aktuelle Zeile identifizieren. |
reset |
(Optional) Nur in visuellen Berechnungen verfügbar. Gibt an, if die Berechnung zurückgesetzt wird, and auf welcher Ebene der Spaltenhierarchie des visuellen Shapes. Akzeptierte values sind: NONE , LOWESTPARENT , HIGHESTPARENT , or eine ganze Zahl. Das Verhalten hängt von der ganzen Zahl sign: - If Null or weggelassen, die Berechnung wird not zurückgesetzt. Entspricht NONE .
- If positiv, identifiziert die ganze Zahl die Spalte beginnend mit der höchsten, unabhängig von Korn. HIGHESTPARENT entspricht 1.
- If negativ, identifiziert die ganze Zahl die Spalte beginnend vom niedrigsten, relativ zum aktuellen Korn. LOWESTPARENT entspricht -1. |
value zurückgeben
Die rank Nummer für den aktuellen Kontext.
Bemerkungen
Jede
orderBy
,partitionBy
- andmatchBy
Spalte muss über eine entsprechende äußere value verfügen, um define der aktuellen Zeile zu helfen, auf der sie ausgeführt werden soll, mit dem folgenden Verhalten:- If es genau eine entsprechende äußere Spalte gibt, wird dessen value verwendet.
-
If es keine entsprechende äußere Spalte gibt, dann:
-
RANK bestimmen firstall
orderBy
,partitionBy
, andmatchBy
Spalten ohne entsprechende äußere Spalte. - Für jede Kombination vorhandener values für diese Spalten im übergeordneten Kontext RANK wird RANK ausgewertet, and eine Zeile zurückgegeben wird.
- RANKendgültige Ausgabe ist eine rank Zahl.
-
RANK bestimmen firstall
If
matchBy
vorhanden ist, versucht RANK, Spalten inmatchBy
andpartitionBy
zur Idenfität der aktuellen Zeile zu verwenden.If die in
orderBy
andpartitionBy
angegebenen Spalten nicht eindeutig jede Zeile inrelation
identifizieren können, haben zwei or mehr Zeilen möglicherweise dieselbe Rangfolge, and die Rangfolge durch den Parameter "ties" bestimmt wird.RANK gibt einen blankvalue für Ergebniszeilen zurück. Es wird empfohlen, den Ausdruck gründlich zu testen.
RANK vergleicht notRANKX, da SUM mit SUMXverglichen wird.
reset
können nur in visuellen Berechnungen verwendet werden, and können nicht in Kombination mitorderBy
orpartitionBy
verwendet werden. Ifreset
vorhanden ist, könnenaxis
angegeben werden, aberrelation
können nicht angegeben werden.
Beispiel 1 – berechnete Spalte
Die folgende DAX Abfrage:
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
Gibt eine Tabelle zurück, die jede Geografie mit demselben EnglishCountryRegionName nach ihrem StateProvinceName and City bewertet.
Blank
orderBy
Spalten-values werden am Ende sortiert.
Beispiel 2 – visuelle Berechnung
Die folgende visuelle Berechnung DAX Abfragen:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Erstellen Sie zwei Spalten, die jedes month durch den Gesamtumsatz rank, sowohl innerhalb jedes year, and den gesamten Verlauf.
Der folgende Screenshot zeigt die visuelle Matrix and den ausdruck der visuellen Berechnung first: