Sdílet prostřednictvím


ROWNUMBER

platí pro:počítaný sloupecPočítaná tabulkaMeasure vizuálu

Vrátí jedinečné pořadí aktuálního kontextu v zadaném oddílu seřazené podle zadaného pořadí. If nebyla nalezena shoda, rownumber je blank.

Syntaxe

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

Parametry

Pojem definice
relation (Volitelné) Výraz tabulky, ze kterého se vrátí výstupní řádek.
If zadané sloupce all v orderByandpartitionBy musí pocházet.
If vynecháno:
- orderBy musí být explicitně zadán.
– AllorderByandpartitionBy sloupce musí být plně kvalifikované and pocházejí z jedné tabulky.
– výchozí hodnota je ALLSELECTED() sloupců all v orderByandpartitionBy.
axis (Volitelné) Osa ve vizuálním obrazci. Dostupné pouze ve vizuálních výpočtech, and nahrazuje relation.
orderBy (Volitelné) Klauzule ORDERBY() obsahující sloupce, které define způsob řazení jednotlivých oddílů.
If vynecháno:
- relation musí být explicitně zadán.
– Výchozí nastavení řazení podle každého sloupce v relation, který je not již zadán v partitionBy.
blanks (Volitelné) Výčet, který definuje, jak zpracovat blankvalues při řazení relationoraxis.
podporované values jsou:
  • DEFAULT (výchozí value), kde je chování číselného valuesblankvalues seřazeno mezi nulou and zápornými values. Chování řetězců je blankvalues jsou seřazeny před all řetězce, včetně prázdných řetězců.
  • FIRST, prázdné hodnoty jsou vždy seřazeny na začátku bez ohledu na vzestupné or sestupné pořadí řazení.
  • LAST, prázdné hodnoty jsou vždy seřazeny na konci bez ohledu na vzestupné or sestupné pořadí řazení.

Poznámka: Pokud jsou blanks parametr and prázdné hodnoty ve funkci ORDERBY() () u jednotlivých výrazů, blanks u jednotlivých výrazů orderBy má prioritu pro příslušný výraz orderBy, andorderBy výrazy bez zadání blanks budou respektovat parametr blanks u nadřazené funkce.
partitionBy (Volitelné) Klauzule () obsahující sloupce, které způsob rozdělení . If vynecháme, relation se považuje za jeden oddíl.
matchBy (Volitelné) Klauzule MATCHBY() obsahující sloupce, které define, jak se shodují s daty and identifikovat aktuální řádek.
reset (Volitelné) K dispozici pouze ve vizuálních výpočtech. Označuje if resetování výpočtů and na jaké úrovni hierarchie sloupců obrazce vizuálu. Akceptované values jsou: odkaz na pole na sloupec v aktuálním obrazci vizuálu, NONE (výchozí), LOWESTPARENT, HIGHESTPARENT, or celé číslo. Chování závisí na celočíselném sign:
– If není or vynechán, výpočet not resetuje. Ekvivalent NONE.
– If kladné, celé číslo identifikuje sloupec začínající od nejvyšší, nezávisle na agregaci. HIGHESTPARENT odpovídá 1.
– If záporné, celé číslo identifikuje sloupec počínaje nejnižším vzhledem k aktuálnímu agregačnímu intervalu. LOWESTPARENT je ekvivalentní -1.

Vrácení value

Číslo rownumber pro aktuální kontext.

Poznámky

Každý sloupec orderBy, partitionBy, andmatchBy musí mít odpovídající vnější value, aby pomohl define aktuálnímu řádku, na kterém se má pracovat, s následujícím chováním:

  • If existuje přesně jeden odpovídající vnější sloupec, použije se jeho value.
  • If neexistuje odpovídající vnější sloupec a pak:
    • ROWNUMBER first určit allorderBy, partitionBy, andmatchBy sloupce, které nemají odpovídající vnější sloupec.
    • Pro každou kombinaci existujících values pro tyto sloupce v ROWNUMBER nadřazeného kontextu se ROWNUMBER vyhodnotí and se vrátí řádek.
    • ROWNUMBERkonečný výstup je union těchto řádků.
  • If existuje více než jeden odpovídající vnější sloupec, vrátí se error.

If matchBy je k dispozici, ROWNUMBER se pokusí použít sloupce v matchByandpartitionBy k přizpůsobení aktuálního řádku. If sloupce zadané v orderByandpartitionBy nemohou jednoznačně identifikovat každý řádek v relationa pak:

  • ROWNUMBER se pokusí find nejmenší počet dalších sloupců potřebných k jednoznačné identifikaci každého řádku.
  • If tyto sloupce najdete, ROWNUMBER
    • Zkuste find nejmenší počet dalších sloupců potřebných k jednoznačné identifikaci každého řádku.
    • Automaticky tyto nové sloupce připojte k klauzuli orderBy.
    • Seřaďte jednotlivé oddíly pomocí této nové sady orderBy sloupců.
  • If takové sloupce nelze najít and funkce zjistí vazbu za běhu, vrátí se error.

reset lze použít pouze ve vizuálních výpočtech, and nelze použít v kombinaci s orderByorpartitionBy. If reset je k dispozici, axis lze zadat, ale relation nelze.

Příklad 1 – počítaný sloupec

Následující dotaz 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

Vrátí tabulku, která jednoznačně řadí každou zeměpisnou oblast se stejným názvem EnglishCountryRegionName podle stateProvinceName and City.

Příklad 2 – výpočet vizuálu

Následující vizuální výpočet DAX dotazy:

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

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

Vytvořte dva sloupce, které jedinečně rank každý month celkovým prodejem, a to jak v rámci každého year, and celou historii.

Následující snímek obrazovky ukazuje matici vizuálů and výrazu first vizuálního výpočtu:

DAX výpočtu vizuálu

INDEX ORDERBY PARTITIONBY WINDOW RANK