ROWNUMBER
Dotyczy:kolumna obliczeniowa
tabela obliczeniowa
Miara
wizualizacji
Zwraca unikatowy ranking dla bieżącego kontekstu w określonej partycji posortowany według określonej kolejności. Jeśli nie można odnaleźć dopasowania, numer wiersza jest pusty.
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.
Jeśli określono, wszystkie kolumny w orderBy i partitionBy muszą pochodzić z niej.
Jeśli pominięto: - orderBy należy jawnie określić.— wszystkie kolumny orderBy i partitionBy muszą być w pełni kwalifikowane i pochodzą z jednej tabeli.
— domyślnie ALLSELECTED() wszystkich kolumn w orderBy i partitionBy . |
axis |
(Opcjonalnie) Oś w kształcie wizualizacji. Dostępne tylko w obliczeniach wizualnych i zastępuje relation . |
orderBy |
(Opcjonalnie) Klauzula ORDERBY() zawierająca kolumny definiujące sposób sortowania poszczególnych partycji.
Jeśli pominięto: - relation należy jawnie określić.
— domyślnie kolejność według każdej kolumny w relation , która nie jest jeszcze określona w partitionBy . |
blanks |
(Opcjonalnie) Wyliczenie, które definiuje sposób obsługi pustych wartości podczas sortowania relation lub axis .
Obsługiwane wartości to:
Uwaga, gdy parametr blanks i wartości puste w funkcji ORDERBY() () dla poszczególnych wyrażeń są określone, blanks w przypadku pojedynczego wyrażenia orderBy ma priorytet dla odpowiedniego wyrażenia orderBy, a wyrażenia orderBy bez blanks określone będą honorować blanks parametr w funkcji nadrzędnej. |
partitionBy |
(Opcjonalnie) Klauzula PARTITIONBY() zawierająca kolumny definiujące sposób partycjonowania relation . Jeśli pominięto, relation jest traktowana jako pojedyncza partycja. |
matchBy |
(Opcjonalnie) Klauzula MATCHBY() zawierająca kolumny definiujące, jak dopasować dane i zidentyfikować bieżący wiersz. |
reset |
(Opcjonalnie) Dostępne tylko w obliczeniach wizualnych. Wskazuje, czy obliczenia są resetowane i na jakim poziomie hierarchii kolumn kształtu wizualizacji. Akceptowane wartości to: odwołanie do pola do kolumny w bieżącym kształcie wizualizacji, NONE (ustawienie domyślne), LOWESTPARENT , HIGHESTPARENT lub liczba całkowita. Zachowanie zależy od znaku całkowitego: — jeśli nie zostanie pominięte, obliczenie nie zostanie zresetowane. Odpowiednik NONE .
— jeśli jest dodatnia, liczba całkowita identyfikuje kolumnę rozpoczynającą się od najwyższego, niezależnego od ziarna. HIGHESTPARENT jest równoważne 1.
— jeśli jest ujemna, liczba całkowita identyfikuje kolumnę rozpoczynającą się od najniższego, względem bieżącego ziarna. LOWESTPARENT jest równoważne -1. |
Wartość zwracana
Numer wiersza dla bieżącego kontekstu.
Uwagi
Każda kolumna orderBy
, partitionBy
i matchBy
musi mieć odpowiadającą wartość zewnętrzną, aby ułatwić zdefiniowanie bieżącego wiersza, na którym będzie działać, z następującym zachowaniem:
- Jeśli jest dokładnie jedna odpowiadająca kolumnie zewnętrznej, zostanie użyta jej wartość.
- Jeśli nie ma odpowiedniej kolumny zewnętrznej, wówczas:
-
ROWNUMBER najpierw określi wszystkie kolumny
orderBy
,partitionBy
imatchBy
, które nie mają odpowiedniej kolumny zewnętrznej. - Dla każdej kombinacji istniejących wartości dla tych kolumn w kontekście nadrzędnym ROWNUMBER jest obliczana ROWNUMBER i zwracany jest wiersz.
- ROWNUMBERkońcowe dane wyjściowe to połączenie tych wierszy.
-
ROWNUMBER najpierw określi wszystkie kolumny
- Jeśli istnieje więcej niż jedna odpowiadająca kolumna zewnętrzna, zwracany jest błąd.
Jeśli matchBy
jest obecny, ROWNUMBER spróbuje użyć kolumn w matchBy
i partitionBy
, aby idenfity bieżącego wiersza.
Jeśli kolumny określone w orderBy
i partitionBy
nie mogą jednoznacznie zidentyfikować każdego wiersza w relation
, wówczas:
- ROWNUMBER spróbuje znaleźć najmniejszą liczbę dodatkowych kolumn wymaganych do unikatowego zidentyfikowania każdego wiersza.
- Jeśli takie kolumny można znaleźć, ROWNUMBER
- Spróbuj znaleźć najmniejszą liczbę dodatkowych kolumn wymaganych do unikatowego identyfikowania każdego wiersza.
- Automatycznie dołącz te nowe kolumny do klauzuli
orderBy
. - Sortuj każdą partycję przy użyciu tego nowego zestawu kolumn orderBy.
- Jeśli nie można odnaleźć takich kolumn i funkcja wykryje remis w czasie wykonywania, zwracany jest błąd.
reset
można używać tylko w obliczeniach wizualnych i nie można ich używać w połączeniu z orderBy
lub partitionBy
. Jeśli 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 i 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 klasyfikują każdy miesiąc według łącznej sprzedaży, zarówno w ciągu każdego roku, jak i całej historii.
Poniższy zrzut ekranu przedstawia macierz wizualizacji i pierwsze wyrażenie obliczania wizualizacji:
obliczania wizualizacji