Freigeben über


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. Wenn eine Übereinstimmung nicht gefunden werden kann, ist der Rang leer.

Syntax

RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parameter

Ausdruck Definition
ties (Optional) Definiert, wie die Rangfolge behandelt wird, wenn zwei oder mehr Zeilen gebunden sind.
Wenn angegeben, ist der unterstützte Wert ENTWEDER DICHT oder SKIP.
Wenn nicht angegeben:
- Standardwert ist SKIP
relation (Optional) Ein Tabellenausdruck, aus dem die Ausgabezeile zurückgegeben wird.
Wenn angegeben, müssen alle Spalten in orderBy und partitionBy daraus stammen.
Wenn nicht angegeben:
- orderBy muss explizit angegeben werden.
– Alle orderBy und partitionBy Spalten müssen vollqualifizierte sein und aus einer einzelnen Tabelle stammen.
– Standardmäßig werden alle Spalten in orderBy und partitionByALLSELECTED() angezeigt.
axis (Optional) Eine Achse in der visuellen Form. Nur in visuellen Berechnungen verfügbar und ersetzt relation.
orderBy (Optional) Eine ORDERBY() Klausel, die die Spalten enthält, die definieren, wie jede Partition sortiert wird.
Wenn nicht angegeben:
- relation muss explizit angegeben werden.
– Standardmäßig wird jede Spalte in relation sortiert, die nicht bereits in partitionByangegeben ist.
blanks (Optional) Eine Aufzählung, die definiert, wie leere Werte beim Sortieren der relation oder axisbehandelt werden.
Die unterstützten Werte sind:
  • DEFAULT (Standardwert), bei dem das Verhalten für numerische Werte leer ist, werden zwischen Null und negativen Werten sortiert. Das Verhalten für Zeichenfolgen ist leere Werte, bevor alle Zeichenfolgen sortiert werden, einschließlich leerer Zeichenfolgen.
  • FIRSTwerden Leerzeichen immer am Anfang sortiert, unabhängig von aufsteigender oder absteigender Sortierreihenfolge.
  • LASTwerden Leerzeichen immer am Ende sortiert, unabhängig von aufsteigender oder absteigender Sortierreihenfolge.

Note, when the blanks parameter and blanks in the ORDERBY() () function on individual expressions are both specified, blanks on individual orderBy expression takes priority for the relevant orderBy expression, and orderBy expressions without blanks being specified will honor the blanks parameter on the parent function.
partitionBy (Optional) Eine PARTITIONBY() Klausel, die die Spalten enthält, die definieren, wie relation partitioniert wird. Wenn sie weggelassen wird, wird relation als einzelne Partition behandelt.
matchBy (Optional) Eine MATCHBY() Klausel mit den Spalten, die definieren, wie Daten übereinstimmen und die aktuelle Zeile identifiziert werden.
reset (Optional) Nur in visuellen Berechnungen verfügbar. Gibt an, ob die Berechnung zurückgesetzt wird und auf welcher Ebene der Spaltenhierarchie des visuellen Shapes. Akzeptierte Werte sind: ein Feldverweis auf eine Spalte in der aktuellen visuellen Form, NONE (Standard), LOWESTPARENT, HIGHESTPARENToder eine ganze Zahl. Das Verhalten hängt vom ganzzahligen Vorzeichen ab:
– Wenn null oder ausgelassen wird, wird die Berechnung nicht zurückgesetzt. Entspricht NONE.
- Wenn die ganze Zahl positiv ist, identifiziert die ganze Zahl die Spalte beginnend mit der höchsten, unabhängig von Korn. HIGHESTPARENT entspricht 1.
- Wenn negativ, identifiziert die ganze Zahl die Spalte beginnend mit dem niedrigsten, relativ zum aktuellen Korn. LOWESTPARENT entspricht -1.

Rückgabewert

Die Rangnummer für den aktuellen Kontext.

Bemerkungen

  • Jede orderBy, partitionByund matchBy Spalte muss einen entsprechenden äußeren Wert aufweisen, um die aktuelle Zeile zu definieren, auf der sie ausgeführt werden soll, mit dem folgenden Verhalten:

    • Wenn genau eine entsprechende äußere Spalte vorhanden ist, wird der Wert verwendet.
    • Wenn keine entsprechende äußere Spalte vorhanden ist, dann:
      • RANK bestimmt zuerst alle orderBy, partitionByund matchBy Spalten, die keine entsprechende äußere Spalte aufweisen.
      • Für jede Kombination vorhandener Werte für diese Spalten im übergeordneten Kontext RANK wird RANK ausgewertet und eine Zeile zurückgegeben.
      • RANKletzte Ausgabe ist eine Rangnummer.
  • Wenn matchBy vorhanden ist, versucht RANK, Spalten in matchBy zu verwenden, und partitionBy, um die aktuelle Zeile zu idenfity.

  • Wenn die in orderBy angegebenen Spalten und partitionBy jede Zeile in relationnicht eindeutig identifizieren können, haben zwei oder mehr Zeilen möglicherweise dieselbe Rangfolge, und die Rangfolge wird durch den Parameter "ties" bestimmt.

  • RANK gibt einen leeren Wert für Ergebniszeilen zurück. Es wird empfohlen, den Ausdruck gründlich zu testen.

  • RANK wird nicht mit RANKX verglichen, da SUM mit SUMXverglichen wird.

  • reset kann nur in visuellen Berechnungen verwendet werden und kann nicht in Kombination mit orderBy oder partitionByverwendet werden. Wenn reset vorhanden ist, können axis angegeben werden, aber relation nicht.

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 stateProvinceName und City bewertet. Leere orderBy Spaltenwerte 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 jeden Monat nach dem Gesamtumsatz sowohl innerhalb jedes Jahres als auch des gesamten Verlaufs rangieren.

Der folgende Screenshot zeigt die visuelle Matrix und den ersten ausdruck der visuellen Berechnung:

DAX visuelle Berechnung

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER