Udostępnij za pośrednictwem


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 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:
  • DEFAULT (domyślna value), gdzie zachowanie values liczbowych jest blankvalues są uporządkowane między and ujemną and ujemną . 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 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 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 ROWNUMBERROWNUMBER jest obliczana and zwracany jest wiersz.
    • ROWNUMBERkońcowe dane wyjściowe to union tych wierszy.
  • 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 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:

  • 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 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',
    "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

INDEX ORDERBY PARTITIONBY WINDOW RANK