RANKX

Gilt für:Berechnete SpalteBerechnete TabelleMeasureVisuelle Berechnung

Gibt die Rangfolge einer Zahl in einer Liste von Zahlen für jede Zeile im table-Argument zurück.

Syntax

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])  

Parameter

Tabelle
Ein DAX-Ausdruck, der eine Tabelle mit Daten zurückgibt, für die der Ausdruck ausgewertet wird.

expression
Ein DAX-Ausdruck, der einen einzelnen Skalarwert zurückgibt. Der Ausdruck wird für jede Zeile von table ausgewertet, um sämtliche möglichen Werte für die Rangfolge zu generieren. Lesen Sie den Abschnitt „Hinweise“, um das Verhalten der Funktion zu verstehen, wenn expression als BLANK ausgewertet wird.

value
(Optional) Jeder DAX-Ausdruck, der einen einzelnen Skalarwert zurückgibt, dessen Rang bestimmt werden soll. Lesen Sie den Abschnitt „Hinweise“, um das Verhalten der Funktion zu verstehen, wenn value nicht im Ausdruck gefunden wird.

Wenn der value-Parameter nicht angegeben wird, wird stattdessen der Wert von „expression“ in der aktuellen Zeile verwendet.

order
(Optional) Ein Wert, der angibt, wie die Rangfolge von value ermittelt wird – von niedrig zu hoch oder umgekehrt:

value alternativer Wert BESCHREIBUNG
0 (Null) FALSE Legt die Rangfolge in absteigender Reihenfolge der Werte des Ausdrucks fest. Wenn „value“ gleich der höchsten Zahl im Ausdruck ist, gibt RANKX „1“ zurück.

Dies ist der Standardwert, wenn kein Parameter für die Reihenfolge angegeben wird.
1 TRUE Legt die Rangfolge in aufsteigender Reihenfolge des Ausdrucks fest. Wenn „value“ gleich der niedrigsten Zahl im Ausdruck ist, gibt RANKX „1“ zurück.

Ties
(Optional) Eine Enumeration, die definiert, wie die Rangfolge bestimmt wird, wenn Ties vorhanden sind.

Enumeration BESCHREIBUNG
Skip Der nächste Rangwert nach einem Tie ist der Rangwert des Ties zuzüglich der Anzahl verknüpfter Werte. Wenn z. B. fünf (5) Werte mit einem Rangwert von 11 verknüpft sind, erhält der nächste Wert den Rang 16 (11 + 5).

Dies ist der Standardwert, wenn der ties-Parameter nicht angegeben wird.
Dense Der nächste Rangwert nach einem Tie ist der nächste Rangwert. Wenn z. B. fünf (5) Werte mit einem Rang von 11 verknüpft sind, erhält der nächste Wert den Rang 12.

Rückgabewert

Die Rangnummer von value unter sämtlichen möglichen Werten von expression, ausgewertet für alle Zeilen von table-Nummern.

Bemerkungen

  • Wenn expression oder value als BLANK ausgewertet wird, wird er als 0 (Null) für alle Ausdrücke behandelt, die eine Zahl ergeben, bzw. als leerer Text für alle Textausdrücke.

  • Wenn sich value nicht unter sämtlichen möglichen Werten von expression befindet, fügt RANKX vorübergehend value zu den Werten von expression hinzu und wertet RANKX nochmal aus, um den korrekten Rang von value zu bestimmen.

  • Optionale Argumente können übersprungen werden, indem ein leeres Komma (,) in der Argumentliste gesetzt wird, z. B. RANKX(Inventory, [InventoryCost],,,"Dense").

  • Gleichheitsbezogene Vergleiche (=, <>, >= und <=) zwischen Werten mit dem Datentyp Dezimalzahl können möglicherweise unerwartete Ergebnisse liefern, wenn die RANKX-Funktion verwendet wird. Es können falsche Ergebnisse auftreten, da Werte vom Datentyp Dezimalzahl als Gleitkommazahlen nach IEEE-Standard 754 gespeichert werden und inhärente Einschränkungen der Genauigkeit aufweisen. Zum Vermeiden unerwarteter Ergebnisse ändern Sie den Datentyp in Feste Dezimalzahl, oder führen Sie mithilfe von ROUND ein erzwungenes Runden durch.

  • Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.

Beispiel

Die folgende berechnete Spalte in der Tabelle der Produkte berechnet den Umsatzrang für jedes Produkt im Internet-Kanal.

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))