RANKX
Si applica a: Calcolo visivo misura tabella calcolata colonna calcolata
Restituisce il rango 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 in base ai quali 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 possibili valori per la classificazione. Per informazioni sul comportamento della funzione quando expression restituisce BLANK, vedere la sezione Osservazioni.
value
(facoltativo) Qualsiasi espressione DAX che restituisce un singolo valore scalare di cui è necessario trovare il rango. Per informazioni sul comportamento della funzione quando nell'espressione non viene trovato value, vedere la sezione Osservazioni.
Quando il parametro value viene omesso, viene invece usato il valore dell'espressione nella riga corrente.
order
(facoltativo) Valore che specifica come classificare value, dal più basso al più alto o dal più alto al più basso:
value | valore alternativo | Descrizione |
---|---|---|
0 (zero) | FALSE | Ranghi in ordine decrescente dei valori di expression. Se value è uguale al numero più alto in expression, RANKX restituisce 1. Si tratta del valore predefinito quando il parametro order viene omesso. |
1 | TRUE | Ranghi di expression in ordine crescente. Se value è uguale al numero più basso in expression, RANKX restituisce 1. |
ties
(facoltativo) Enumerazione che definisce come determinare la classificazione in caso di valori equivalenti.
enumerazione | Descrizione |
---|---|
Ignora | Il valore di rango successivo, dopo un valore equivalente, è il valore di rango del valore equivalente più il numero di valori associati. Se ad esempio cinque (5) valori sono associati a un rango pari a 11, il valore successivo riceverà un rango pari a 16 (11 + 5). Si tratta del valore predefinito quando il parametro ties viene omesso. |
Dense | Il valore di rango successivo, dopo un valore equivalente, è il valore di rango successivo. Se ad esempio cinque (5) valori sono associati a 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 valutato per tutte le righe di numeri di table.
Osservazioni:
Se expression o value restituisce BLANK, viene considerato come 0 (zero) per tutte le espressioni che restituiscono un numero o come testo vuoto per tutte le espressioni di testo.
Se value non è compreso tra tutti i possibili valori di expression, RANKX aggiunge temporaneamente value ai valori di expression e valuta nuovamente RANKX per determinare il rango appropriato di value.
Gli argomenti facoltativi potrebbero essere ignorati inserendo una virgola vuota (,) nell'elenco di argomenti, ad esempio RANKX(Inventory, [InventoryCost],,,"Dense")
I confronti correlati all'uguaglianza (=, <>, >= e <=) tra i valori con il tipo di dati Numero decimale possono restituire risultati imprevisti quando si usa la funzione RANKX. I risultati non corretti possono verificarsi perché i valori con tipo di dati numero decimale 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 nella modalità DirectQuery se usata in colonne calcolate o nelle regole di sicurezza a livello di riga.
Esempio
La colonna calcolata seguente della tabella Products calcola la classificazione delle vendite per ogni prodotto nel canale Internet.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))