ROWNUMBER
Platí pro:Calculated columnCalculated tableMeasureVisual calculation
Vrátí jedinečné pořadí aktuálního kontextu v zadaném oddílu seřazené podle zadaného pořadí. Pokud shodu nelze najít, je argument číslo řádku prázdný.
Syntaxe
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametry
Pojem | definice |
---|---|
Vztah | (Volitelné) Výraz tabulky, ze kterého se vrátí výstupní řádek. Pokud je zadáno, musí z něj pocházet všechny sloupce v <pořadíBy> a <partitionBy> . Pokud tento parametr vynecháte: – <orderBy> musí být explicitně zadáno.– 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 <pořadíBy> a <partitionBy>. |
osa | (Volitelné) Osa ve vizuálním obrazci. K dispozici pouze ve vizuálních výpočtech <a nahrazuje relaci>. |
Orderby | (Volitelné) Klauzule ORDERBY() obsahující sloupce definující způsob řazení jednotlivých oddílů. Pokud tento parametr vynecháte, <musí být explicitně zadán vztah>. – Výchozí nastavení řazení podle každého sloupce ve <vztahu> , který ještě není zadán v <partitionBy>. |
Mezery | (Volitelné) Výčet, který definuje, jak zpracovat prázdné hodnoty při řazení. Podporované hodnoty jsou:
|
partitionBy | (Volitelné) Klauzule PARTITIONBY() obsahující sloupce definující způsob <rozdělení relace> . Pokud tento parametr vynecháte, <považuje se relace> za jeden oddíl. |
matchBy | (Volitelné) Klauzule POZVYHLEDAT() obsahující sloupce, které definují, jak se shodují s daty, a identifikují aktuální řádek. |
resetování | (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. Přijaté hodnoty jsou: NONE, LOWESTPARENT, HIGHESTPARENT nebo celé číslo. Chování závisí na celočíselném znaménku: – Pokud je nula nebo vynechána, výpočet se neobnoví. Ekvivalent funkce NONE. - Pokud je kladné, celé číslo identifikuje sloupec začínající od nejvyššího, nezávisle na agregačním intervalu. FUNKCE HIGHESTPARENT je ekvivalentní hodnotě 1. - Pokud je záporné, celé číslo identifikuje sloupec počínaje nejnižší hodnotou vzhledem k aktuálnímu agregačnímu intervalu. NEJNIŽŠÍPARENT je ekvivalentní hodnotě -1. |
Vrácená hodnota
Číslo řádku pro aktuální kontext.
Poznámky
Každý <sloupec orderBy>, <partitionBy> a <matchBy> musí mít odpovídající vnější hodnotu, aby bylo možné 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:
- Funkce ROWNUMBER nejprve určí všechny <sloupce orderBy>, <partitionBy a <matchBy>>, které nemají odpovídající vnější sloupec.
- Pro každou kombinaci existujících hodnot pro tyto sloupce v nadřazeném kontextu ROWNUMBER se vyhodnotí hodnota ROWNUMBER a vrátí se řádek.
- Konečný výstup funkce ROWNUMBER je sjednocením těchto řádků.
- Pokud existuje více než jeden odpovídající vnější sloupec, vrátí se chyba.
Pokud <je k dispozici shodaBy> , funkce ROWNUMBER se pokusí použít sloupce v <atributu matchBy> a <partitionBy> k idenfity aktuálního řádku.
Pokud sloupce zadané v rámci <orderBy> a <partitionBy> nemohou jednoznačně identifikovat každý řádek ve <vztahu>, pak:
- FUNKCE ROWNUMBER se pokusí najít nejmenší počet dalších sloupců potřebných k jednoznačné identifikaci každého řádku.
- Pokud se tyto sloupce dají najít, funkce ROWNUMBER
- Zkuste najít nejmenší počet dalších sloupců potřebných k jednoznačné identifikaci každého řádku.
- Automaticky připojte tyto nové sloupce 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.
<Resetování> lze použít pouze ve vizuálních výpočtech a nelze ho použít v kombinaci s <orderBy> nebo <partitionBy>. Pokud <je k dispozici resetování>, je možné zadat osu>, <ale <relační nemůže>.
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í dotazy jazyka DAX pro výpočet vizuálu:
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:
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro