Udostępnij za pośrednictwem


RANK

Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne

Zwraca klasyfikację bieżącego kontekstu w określonej partycji posortowaną według określonej kolejności. If nie można odnaleźć dopasowania, a następnie rank jest blank.

Składnia

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

Parametry

Termin Definicja
ties (Opcjonalnie) Definiuje sposób obsługi klasyfikacji, gdy dwa or więcej wierszy są powiązane.
If określony obsługiwany value jest gęsty, or SKIP.
If pominięto:
— ustawienia domyślne do pominięcia
relation (Opcjonalnie) Wyrażenie tabeli, z którego zwracany jest wiersz wyjściowy.
If określone, all kolumny w orderByandpartitionBy muszą pochodzić z niej.
If pominięty:
- orderBy należy jawnie określić.
— kolumny AllorderByandpartitionBy muszą być w pełni kwalifikowane and pochodzą z jednej tabeli.
— domyślnie ALLSELECTED() kolumn all w orderByandpartitionBy.
axis (Opcjonalnie) Oś w kształcie wizualizacji. Dostępne tylko w obliczeniach wizualnych and zastępuje relation.
orderBy (Opcjonalnie) Klauzula ORDERBY() zawierająca kolumny, które define sposób sortowania każdej partycji.
If pominięty:
- relation należy jawnie określić.
— domyślnie kolejność według każdej kolumny w relation, która jest not już określona w partitionBy.
blanks (Opcjonalnie) Wyliczenie, które definiuje sposób obsługi blankvalues podczas sortowania.
Obsługiwane values to:
  • KEEP (domyślna value), gdzie zachowanie values liczbowych jest blankvalues są uporządkowane między and ujemną and ujemną values. Zachowanie ciągów jest blankvalues są uporządkowane przed all ciągami, w tym pustymi ciągami.
  • FIRSTwartości puste są zawsze uporządkowane na początku, niezależnie od rosnącej kolejności sortowania or malejącej.
  • LASTwartości puste są zawsze uporządkowane na końcu, niezależnie od rosnącej kolejności sortowania or malejącej.

Uwaga, gdy blanks parametr and puste w funkcji ORDERBY() dla pojedynczego wyrażenia jest określony, blanks w przypadku pojedynczego wyrażenia orderBy ma priorytet dla odpowiedniego wyrażenia orderBy, andorderBy wyrażenia bez określenia blanks będą honorować parametr blanks dla funkcji nadrzędnej Window.
partitionBy (Opcjonalnie) Klauzula PARTITIONBY() zawierająca kolumny, które define sposób partycjonowania relation.
If pominięty, relation jest traktowana jako pojedyncza partycja.
matchBy (Opcjonalnie) Klauzula MATCHBY() zawierająca kolumny, które define, jak dopasować dane and zidentyfikować bieżący wiersz.
reset (Opcjonalnie) Dostępne tylko w obliczeniach wizualnych. Wskazuje if resetowania obliczeń, and na jakim poziomie hierarchii kolumn kształtu wizualizacji. Zaakceptowane values to: NONE, LOWESTPARENT, HIGHESTPARENT, or liczba całkowita. Zachowanie zależy od liczby całkowitej sign:
— If zero or pominięte, obliczenie not zresetować. Odpowiednik NONE.
— If dodatnia liczba całkowita identyfikuje kolumnę rozpoczynającą się od najwyższego, niezależnego od ziarna. HIGHESTPARENT jest równoważne 1.
— If ujemna liczba całkowita identyfikuje kolumnę rozpoczynającą się od najniższego względem bieżącego ziarna. LOWESTPARENT jest równoważne -1.

Zwracanie value

Numer rank dla bieżącego kontekstu.

Uwagi

  • Każda kolumna orderBy, partitionBy, andmatchBy musi mieć odpowiednie value zewnętrzne, aby pomóc define bieżącego wiersza, na którym można pracować, z następującym zachowaniem:

    • If jest dokładnie jedna odpowiadająca kolumnie zewnętrznej, używana jest jego value.
    • If nie ma odpowiedniej kolumny zewnętrznej, a następnie:
      • RANK first określić kolumny allorderBy, partitionBy, andmatchBy, które nie mają odpowiedniej kolumny zewnętrznej.
      • Dla każdej kombinacji istniejących values dla tych kolumn w kontekście nadrzędnym RANKRANK jest obliczana and zwracany jest wiersz.
      • RANKkońcowe dane wyjściowe to liczba rank.
  • If matchBy jest obecny, a następnie RANK spróbuje użyć kolumn w matchByandpartitionBy, aby idenfity bieżącego wiersza.

  • If kolumn określonych w orderByandpartitionBy nie można jednoznacznie zidentyfikować każdego wiersza w relation, a następnie dwa or więcej wierszy może mieć ten sam ranking and klasyfikacji zostanie określony przez parametr więzi.

  • RANK zwraca blankvalue dla wierszy sumy. Zaleca się dokładne przetestowanie wyrażenia.

  • RANK not porównuje się z RANKXSUM w porównaniu z SUMX.

  • reset można używać tylko w obliczeniach wizualnych, and nie można używać w połączeniu z orderByorpartitionBy. If reset jest obecny, axis można określić, ale nie można relation.

Przykład 1 — kolumna obliczeniowa

Następujące zapytanie DAX:

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

Zwraca tabelę, która klasyfikuje każdą lokalizację geograficzną o tej samej nazwie EnglishCountryRegionName według wartości StateProvinceName and City. Blank orderBy kolumny values są sortowane na końcu.

Przykład 2 — obliczenia wizualne

Następujące obliczenia wizualne DAX zapytania:

SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

Utwórz dwie kolumny, które rank każdy month przez łączną sprzedaż, zarówno w ramach każdej year, and całej historii.

Poniższy zrzut ekranu przedstawia macierz wizualizacji and wyrażenie obliczania wizualizacji first:

obliczania wizualizacji

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER