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 orderBy andpartitionBy musí pocházet.
If vynecháno: - orderBy musí být explicitně zadán.– All orderBy andpartitionBy sloupce musí být plně kvalifikované and pocházejí z jedné tabulky.
– výchozí hodnota je ALLSELECTED() sloupců all v orderBy andpartitionBy . |
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í relation oraxis .
podporované values jsou:
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 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 all
orderBy
,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ů.
-
ROWNUMBER
first určit all
- 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 matchBy
andpartitionBy
k přizpůsobení aktuálního řádku.
If sloupce zadané v orderBy
andpartitionBy
nemohou jednoznačně identifikovat každý řádek v relation
a 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 orderBy
orpartitionBy
.
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:
výpočtu vizuálu