RANKX
Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung
Gibt die Rangfolge einer Zahl in einer Liste von Zahlen für jede Zeile im argument table
zurück.
Syntax
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parameter
table
Any DAX Ausdruck, der eine Datentabelle zurückgibt, über die der Ausdruck ausgewertet wird.
expression
Any DAX Ausdruck, der einen einzelnen skalaren Wert zurückgibt. Der Ausdruck wird für jede Zeile von table
ausgewertet, um alle möglichen Werte für die Rangfolge zu generieren. Lesen Sie den Abschnitt "Hinweise", um das Funktionsverhalten zu verstehen, wenn expression
zu BLANKausgewertet wird.
value
(Optional) Any DAX Ausdruck, der einen einzelnen skalaren Wert zurückgibt, dessen Rang gefunden werden soll. Lesen Sie den Abschnitt "Hinweise", um das Verhalten der Funktion zu verstehen, wenn value
im Ausdruck nicht gefunden wird.
Wenn der parameter value
nicht angegeben wird, wird stattdessen der Wert des Ausdrucks in der aktuellen Zeile verwendet.
order
(Optional) Ein Wert, der angibt, wie value
, niedrig bis hoch oder niedrig:
Wert | Alternativer Wert | BESCHREIBUNG |
---|---|---|
0 (Null) | FALSE |
Rangiert in absteigender Reihenfolge der Werte des Ausdrucks. Wenn der Wert der höchsten Zahl im Ausdruck entspricht, gibt RANKX "1" zurück. Dies ist der Standardwert, wenn der Order-Parameter weggelassen wird. |
1 | TRUE |
Legt die Rangfolge in aufsteigender Reihenfolge des Ausdrucks fest. Wenn der Wert der niedrigsten Zahl im Ausdruck entspricht, gibt RANKX "1" zurück. |
ties
(Optional) Eine Aufzählung, die definiert, wie die Rangfolge bestimmt wird, wenn Bindungen vorhanden sind.
Enumeration | BESCHREIBUNG |
---|---|
Skip |
Der nächste Rangwert nach einer Verknüpfung ist der Rangwert der Bindege plus die Anzahl der gebundenen Werte. Wenn beispielsweise fünf (5) Werte mit einem Rang von 11 verknüpft sind, erhält der nächste Wert den Rang 16 (11 + 5). Dies ist der Standardwert, wenn ties Parameter weggelassen wird. |
Dense |
Der nächste Rangwert nach einer Verknüpfung ist der nächste Rangwert. Wenn beispielsweise 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 der value
unter allen möglichen Werten expression
für alle Zeilen table
Zahlen ausgewertet.
Bemerkungen
Wenn
expression
odervalue
als BLANK ausgewertet wird, wird sie für alle Ausdrücke, die zu einer Zahl führen, oder als leerer Text für alle Textausdrücke als 0 (Null) behandelt.Wenn
value
nicht zu allen möglichen Werten vonexpression
gehört, addiert RANKX vorübergehendvalue
zu den Werten ausexpression
und wertet RANKX erneut aus, um die richtige Rangfolgevalue
zu ermitteln.Optionale Argumente können übersprungen werden, indem ein leeres Komma (,) in der Argumentliste platziert wird, z. B.
RANKX(Inventory, [InventoryCost],,,"Dense")
.Gleichheitsbezogene Vergleiche (
=
,<
,>
,>=
und<=
) zwischen Werten mit dem datentyp Dezimalzahl können möglicherweise unerwartete Ergebnisse zurückgeben, wenn RANKX Funktion verwendet wird. Falsche Ergebnisse können auftreten, da Werte mit Dezimalzahl Datentyp als IEEE Standard 754 Gleitkommazahlen gespeichert werden und inhärente Einschränkungen in ihrer Genauigkeit aufweisen. Um unerwartete Ergebnisse zu vermeiden, ändern Sie den Datentyp in feste Dezimalzahl oder führen Sie eine erzwungene Rundung mit ROUNDaus.Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.
Beispiel
Die folgende berechnete Spalte in der Tabelle "Produkte" berechnet die Verkaufsbewertung für jedes Produkt im Internetkanal.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))