Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce la classificazione per il contesto corrente all'interno della partizione specificata, ordinata in base all'ordine specificato. Se non è possibile trovare una corrispondenza, rownumber è vuoto.
Sintassi
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametri
Termine | Definizione |
---|---|
relation |
(Facoltativo) Espressione di tabella da cui viene restituita la riga di output. Se utilizzato nei calcoli visivi, questo parametro accetta un asse nella forma visiva.
Se specificato, tutte le colonne in orderBy e partitionBy devono provenire da essa.
Se omesso: - orderBy deve essere specificato in modo esplicito.: tutte le colonne orderBy e partitionBy devono essere complete e provenire da una singola tabella.
: per impostazione predefinita viene ALLSELECTED() di tutte le colonne in orderBy e partitionBy . |
orderBy |
(Facoltativo) Clausola ORDERBY() contenente le colonne che definiscono la modalità di ordinamento di ogni partizione.
Se omesso: - relation deve essere specificato in modo esplicito.
: per impostazione predefinita l'ordinamento in base a ogni colonna in relation non già specificata in partitionBy . |
blanks |
(Facoltativo) Enumerazione che definisce come gestire i valori vuoti durante l'ordinamento del relation o axis .
I valori supportati sono:
|
partitionBy |
(Facoltativo) Clausola relation viene considerato come una singola partizione. |
matchBy |
(Facoltativo) Clausola |
reset |
(Facoltativo) Disponibile solo nei calcoli visivi. Indica se il calcolo viene reimpostato e a quale livello della gerarchia di colonne della forma visiva. I valori accettati sono: un riferimento di campo a una colonna nella forma visiva corrente, NONE (impostazione predefinita), LOWESTPARENT , HIGHESTPARENT o un numero intero. Il comportamento dipende dal segno intero: - Se zero o omesso, il calcolo non viene reimpostato. Equivalente a NONE .
: se positivo, l'intero identifica la colonna a partire dal più alto, indipendentemente dal livello di granularità. HIGHESTPARENT equivale a 1.
: se negativo, l'intero identifica la colonna a partire dal livello più basso, rispetto alla granularità corrente. LOWESTPARENT equivale a -1. |
Valore restituito
Numero di riga per il contesto corrente.
Osservazioni:
Ogni orderBy
, partitionBy
e matchBy
colonna deve avere un valore esterno corrispondente per definire la riga corrente su cui operare, con il comportamento seguente:
- Se è presente esattamente una colonna esterna corrispondente, viene usato il relativo valore.
- Se non è presente alcuna colonna esterna corrispondente, eseguire le operazioni seguenti:
-
ROWNUMBER determinerà innanzitutto tutte le colonne
orderBy
,partitionBy
ematchBy
senza colonna esterna corrispondente. - Per ogni combinazione di valori esistenti per queste colonne in ROWNUMBER contesto padre, ROWNUMBER viene valutata e viene restituita una riga.
- ROWNUMBER'output finale è un'unione di queste righe.
-
ROWNUMBER determinerà innanzitutto tutte le colonne
- Se sono presenti più colonne esterne corrispondenti, viene restituito un errore.
Se matchBy
è presente, ROWNUMBER tenterà di usare colonne in matchBy
e partitionBy
per idenfity della riga corrente.
Se le colonne specificate all'interno di orderBy
e partitionBy
non possono identificare in modo univoco ogni riga in relation
, allora:
- ROWNUMBER tenterà di trovare il minor numero di colonne aggiuntive necessarie per identificare in modo univoco ogni riga.
- Se è possibile trovare tali colonne, ROWNUMBER
- Provare a trovare il minor numero di colonne aggiuntive necessarie per identificare in modo univoco ogni riga.
- Accodare automaticamente queste nuove colonne alla clausola
orderBy
. - Ordinare ogni partizione usando questo nuovo set di colonne orderBy.
- Se non è possibile trovare tali colonne e la funzione rileva un legame in fase di esecuzione, viene restituito un errore.
reset
possono essere usati solo nei calcoli visivi e non possono essere usati in combinazione con orderBy
o partitionBy
. Se reset
è presente, è possibile specificare axis
ma non relation
.
Se il valore di reset
è assoluto (ad esempio, un numero intero HIGHESTPARENT
positivo o un riferimento a un campo) e il calcolo viene valutato al livello di destinazione o superiore al livello di destinazione nella gerarchia, il calcolo viene reimpostato per ogni singolo elemento. Ovvero, la funzione viene valutata all'interno di una partizione contenente solo l'elemento specifico.
Esempio 1 : colonna calcolata
La query di DAX seguente:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"UniqueRank",
ROWNUMBER(
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Restituisce una tabella che classifica in modo univoco ogni area geografica con lo stesso EnglishCountryRegionName, in base al relativo StateProvinceName e City.
Esempio 2 - Calcolo visivo
Il calcolo visivo seguente DAX query:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
Creare due colonne che classificano in modo univoco ogni mese in base alle vendite totali, sia all'interno di ogni anno che all'intera cronologia.
Lo screenshot seguente mostra la matrice visiva e la prima espressione di calcolo visivo: