Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Počítaný sloupec
Počítaná tabulka
Měřit
Vizuální výpočet
Vrátí jedinečné pořadí aktuálního kontextu v zadaném oddílu seřazené podle zadaného pořadí. Pokud nelze najít shodu, je argument číslo řádku prázdný.
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. Pokud se tento parametr používá ve vizuálních výpočtech, přijímá v obrazci vizuálu osu.
Pokud je zadána, musí z něj pocházet všechny sloupce v orderBy a partitionBy.
Pokud tento parametr vynecháte: - orderBy musí být explicitně zadán.– Všechny sloupce orderBy a partitionBy musí být plně kvalifikované a pocházejí z jedné tabulky.
– výchozí hodnota je ALLSELECTED() všech sloupců v orderBy a partitionBy. |
orderBy |
(Volitelné) Klauzule ORDERBY() obsahující sloupce definující způsob řazení jednotlivých oddílů.
Pokud tento parametr vynecháte: - relation musí být explicitně zadán.
– Výchozí nastavení řazení podle každého sloupce v relation, který ještě není zadán v partitionBy. |
blanks |
(Volitelné) Výčet, který definuje, jak zpracovat prázdné hodnoty při řazení relation nebo axis.
Podporované hodnoty jsou:
Všimněte si, že pokud blanks jsou zadány parametry a prázdné hodnoty ve ORDERBYfunkci () u jednotlivých výrazů, blanks má u jednotlivých výrazů orderBy prioritu pro příslušný výraz orderBy a výrazy orderBy bez blanks zadání budou respektovat blanks parametr nadřazené funkce. |
partitionBy |
(Volitelné) Klauzule relation se považuje za jeden oddíl. |
matchBy |
(Volitelné) Klauzule (MATCHBY) obsahující sloupce, které definují, jak se shodují s daty a identifikují aktuální řádek. |
reset |
(Volitelné) K dispozici pouze ve vizuálních výpočtech. Určuje, jestli se výpočet resetuje a na jaké úrovni hierarchie sloupců obrazce vizuálu. Akceptované hodnoty jsou: odkaz na pole na sloupec v aktuálním obrazci vizuálu, NONE (výchozí), LOWESTPARENT, HIGHESTPARENTnebo celé číslo. Toto chování závisí na celočíselném znaménku: – pokud je nula nebo vynechána, výpočet se neobnoví. Ekvivalent NONE.
– pokud je kladné, celé číslo identifikuje sloupec začínající od nejvyššího, nezávisle na agregačním intervalu. HIGHESTPARENT odpovídá 1.
– pokud je záporné, celé číslo identifikuje sloupec počínaje nejnižší hodnotou vzhledem k aktuálnímu agregačnímu intervalu. LOWESTPARENT je ekvivalentní -1. |
Návratová hodnota
Číslo řádku pro aktuální kontext.
Poznámky
Každý sloupec orderBy, partitionBya matchBy musí mít odpovídající vnější hodnotu, která pomůže definovat aktuální řádek, na kterém se má pracovat, s následujícím chováním:
- Pokud je právě jeden odpovídající vnější sloupec, použije se jeho hodnota.
- Pokud neexistuje odpovídající vnější sloupec, postupujte takto:
-
ROWNUMBER nejprve určí všechny sloupce
orderBy,partitionByamatchBy, které nemají odpovídající vnější sloupec. - Pro každou kombinaci existujících hodnot pro tyto sloupce v ROWNUMBER nadřazeného kontextu se vyhodnotí ROWNUMBER a vrátí se řádek.
- ROWNUMBERkonečný výstup je sjednocením těchto řádků.
-
ROWNUMBER nejprve určí všechny sloupce
- Pokud existuje více než jeden odpovídající vnější sloupec, vrátí se chyba.
Pokud matchBy existuje, ROWNUMBER se pokusí použít sloupce ve matchBy a partitionBy k přizpůsobení aktuálního řádku.
Pokud sloupce zadané v orderBy a partitionBy nemohou jednoznačně identifikovat každý řádek v relation, pak:
- ROWNUMBER se pokusí najít nejmenší počet dalších sloupců potřebných k jednoznačné identifikaci každého řádku.
- Pokud tyto sloupce najdete, ROWNUMBER
- Zkuste najít 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 sloupců orderBy.
- Pokud tyto sloupce nelze najít a funkce zjistí vazbu za běhu, vrátí se chyba.
reset lze použít pouze ve vizuálních výpočtech a nelze jej použít v kombinaci s orderBy nebo partitionBy. Pokud je reset, je možné zadat axis, ale relation nelze.
Pokud je hodnota reset absolutní (tj. kladné celé číslo HIGHESTPARENT nebo odkaz na pole) a výpočet se vyhodnotí na cílové úrovni v hierarchii nebo nad ní, výpočet se pro každý jednotlivý prvek resetuje. To znamená, že funkce se vyhodnocuje v rámci oddílu, který obsahuje pouze tento konkrétní prvek.
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 a 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é každý měsíc jedinečně řadí podle celkového prodeje, a to jak v rámci každého roku, tak v celé historii.
Následující snímek obrazovky ukazuje vizuální matici a první výraz výpočtu vizuálu: