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 orderBy andpartitionBy muszą pochodzić z niej.
If pominięty: - orderBy należy jawnie określić.— kolumny All orderBy andpartitionBy muszą być w pełni kwalifikowane and pochodzą z jednej tabeli.
— domyślnie ALLSELECTED() kolumn all w orderBy andpartitionBy . |
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:
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 all
orderBy
,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.
-
RANK
first określić kolumny all
If
matchBy
jest obecny, a następnie RANK spróbuje użyć kolumn wmatchBy
andpartitionBy
, aby idenfity bieżącego wiersza.If kolumn określonych w
orderBy
andpartitionBy
nie można jednoznacznie zidentyfikować każdego wiersza wrelation
, 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 zorderBy
orpartitionBy
. Ifreset
jest obecny,axis
można określić, ale nie możnarelation
.
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