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. 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 orderByandpartitionBy daraus stammen.
If weggelassen:
- orderBy muss explizit angegeben werden.
– AllorderByandpartitionBy Spalten müssen vollqualifizierte and aus einer einzelnen Tabelle stammen.
– Standardmäßig werden ALLSELECTED() von all Spalten in orderByandpartitionBy.
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 partitionByangegeben not ist.
blanks (Optional) Eine Aufzählung, die definiert, wie blankvalues beim Sortieren behandelt wird.
Die unterstützten values sind:
  • KEEP (Standard-value), wobei das Verhalten für numerische valuesblankvalues zwischen Null and negativen valuessortiert werden. Das Verhalten für Zeichenfolgen wird blankvalues vor all Zeichenfolgen sortiert, einschließlich leerer Zeichenfolgen.
  • FIRSTwerden Leerzeichen immer am Anfang sortiert, unabhängig von aufsteigender or absteigender Sortierreihenfolge.
  • LASTwerden Leerzeichen immer am Ende sortiert, unabhängig von aufsteigender or absteigender Sortierreihenfolge.

Hinweis: Wenn blanksand 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 firstallorderBy, 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.
  • If matchBy vorhanden ist, versucht RANK, Spalten in matchByandpartitionBy zur Idenfität der aktuellen Zeile zu verwenden.

  • If die in orderByandpartitionBy angegebenen Spalten nicht eindeutig jede Zeile in relationidentifizieren 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 mit orderByorpartitionByverwendet werden. If reset vorhanden ist, können axis angegeben werden, aber relation 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:

DAX visuelle Berechnung

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER