RANKX
Restituisce la classificazione di un numero in un elenco di numeri per ogni riga nell'argomento table
.
Sintassi
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parametri
table
Qualsiasi espressione DAX che restituisce una tabella di dati su cui viene valutata l'espressione.
expression
Qualsiasi espressione DAX che restituisce un singolo valore scalare. L'espressione viene valutata per ogni riga di table
, per generare tutti i valori possibili per la classificazione. Vedere la sezione osservazioni per comprendere il comportamento della funzione quando expression
restituisce BLANK.
value
(facoltativo) Qualsiasi espressione DAX che restituisce un singolo valore scalare il cui rango deve essere trovato. Vedere la sezione osservazioni per comprendere il comportamento della funzione quando value
non viene trovato nell'espressione.
Quando il parametro value
viene omesso, viene invece utilizzato il valore di expression nella riga corrente.
order
(facoltativo) Valore che specifica come classificare value
, da basso a alto o alto a basso:
valore | valore alternativo | Descrizione |
---|---|---|
0 (zero) | FALSE |
Classifica in ordine decrescente i valori dell'espressione. Se value è uguale al numero più alto nell'espressione, RANKX restituisce 1. Questo è il valore predefinito quando il parametro order viene omesso. |
1 | TRUE |
Ranghi di expression in ordine crescente. Se value è uguale al numero più basso nell'espressione, RANKX restituisce 1. |
ties
(facoltativo) Enumerazione che definisce come determinare la classificazione quando sono presenti legami.
enumerazione | Descrizione |
---|---|
Skip |
Il valore di rango successivo, dopo una cravatta, è il valore di rango del tie più il conteggio dei valori associati. Ad esempio, se cinque (5) valori sono collegati con un rango pari a 11, il valore successivo riceverà un rango pari a 16 (11 + 5). Questo è il valore predefinito quando ties parametro viene omesso. |
Dense |
Il valore di rango successivo, dopo una cravatta, è il valore di rango successivo. Ad esempio, se cinque (5) valori sono collegati con un rango pari a 11, il valore successivo riceverà un rango pari a 12. |
Valore restituito
Numero di rango di value
tra tutti i possibili valori di expression
valutati per tutte le righe di table
numeri.
Osservazioni:
Se
expression
ovalue
restituisce BLANK viene considerato come 0 (zero) per tutte le espressioni che generano un numero o come testo vuoto per tutte le espressioni di testo.Se
value
non è compreso tra tutti i valori possibili diexpression
, RANKX aggiunge temporaneamentevalue
ai valori diexpression
e valuta nuovamente RANKX per determinare il rango corretto divalue
.È possibile ignorare gli argomenti facoltativi inserendo una virgola vuota (,) nell'elenco di argomenti, ad esempio
RANKX(Inventory, [InventoryCost],,,"Dense")
.Confronti correlati all'uguaglianza (
, , , e ) tra valori con il tipo di dati numero decimale possono restituire risultati potenzialmente imprevisti quando si usa la funzione . I risultati non corretti possono verificarsi perché i valori con numero decimale tipo di dati vengono archiviati come numeri a virgola mobile IEEE Standard 754 e presentano limitazioni intrinseche nella precisione. Per evitare risultati imprevisti, modificare il tipo di dati in Numero decimale fisso o eseguire un arrotondamento forzato usando ROUND. Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.
Esempio
La colonna calcolata seguente nella tabella Products calcola la classificazione delle vendite per ogni prodotto nel canale Internet.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))