ROWNUMBER
Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne
Zwraca unikatowy ranking dla bieżącego kontekstu w określonej partycji posortowany według określonej kolejności. If nie można odnaleźć dopasowania, rownumber jest blank.
Składnia
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametry
Termin | Definicja |
---|---|
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 rownumber 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:
-
ROWNUMBER
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 ROWNUMBERROWNUMBER jest obliczana and zwracany jest wiersz.
- ROWNUMBERkońcowe dane wyjściowe to union tych wierszy.
-
ROWNUMBER
first określić kolumny all
- If istnieje więcej niż jedna odpowiadająca mu kolumna zewnętrzna, zwracana jest error.
If
matchBy
jest obecny, a następnie ROWNUMBER spróbuje użyć kolumn w matchBy
andpartitionBy
, aby idenfity bieżącego wiersza.
If kolumn określonych w orderBy
andpartitionBy
nie można jednoznacznie zidentyfikować każdego wiersza w relation
, a następnie:
- ROWNUMBER spróbuje find najmniejszą liczbę dodatkowych kolumn wymaganych do unikatowego zidentyfikowania każdego wiersza.
-
If można znaleźć takie kolumny, ROWNUMBER
- Spróbuj find najmniejszą liczbę dodatkowych kolumn wymaganych do unikatowego identyfikowania każdego wiersza.
- Automatycznie dołącz te nowe kolumny do klauzuli
orderBy
. - Posortuj każdą partycję przy użyciu tego nowego zestawu kolumn orderBy.
- If nie można odnaleźć takich kolumn, and funkcja wykrywa remis w czasie wykonywania, zwracany jest error.
reset
można używać tylko w obliczeniach wizualnych, and nie można używać w połączeniu z orderBy
orpartitionBy
.
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',
"UniqueRank",
ROWNUMBER(
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Zwraca tabelę, która unikatowo klasyfikuje każdą lokalizację geograficzną o tej samej nazwie EnglishCountryRegionName według wartości StateProvinceName and City.
Przykład 2 — obliczenia wizualne
Następujące obliczenia wizualne DAX zapytania:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
Utwórz dwie kolumny, które unikatowo rank każdy month przez łączną sprzedaż, zarówno w ramach każdej year, jak i and całej historii.
Poniższy zrzut ekranu przedstawia macierz wizualizacji and wyrażenie obliczania wizualizacji first:
obliczania wizualizacji