AVERAGE_RANK

AVERAGE_RANK ordina i membri di una dimensione in base ai valori di un'espressione. La funzione restituisce i numeri di sequenza dei membri della dimensione.

AVERAGE_RANK assegna la stessa classificazione media a valori identici. Ad esempio, AVERAGE_RANK può restituire 1, 2, 3.5, 3.5, 5 per una serie di cinque membri di dimensione.

Valore restituito

NUMBER

Sintassi

AVERAGE_RANK (ntile_expression) OVER HIERARCHY
     ( dimension | hierarchy
       ORDER BY expression [ASC | DSC] [NULLS {FIRST | LAST}]...
       WITHIN {PARENT | LEVEL | ANCESTOR AT LEVEL level}
     )

Argomenti

ntile_expression non è implementato in questa funzione.

dimension è la dimensione di cui vengono classificati i membri.

hierarchy è una gerarchia di dimension. Altrimenti, viene utilizzata la gerarchia predefinita.

ORDER BY fornisce la base per la classificazione. È possibile fornire ulteriori clausole ORDER BY per interrompere gli eventuali valori pari nell'ordine.

expression fornisce i valori da utilizzare come base per le classificazioni.

ASC crea la classificazione dai valori dei dati più piccoli a quelli più grandi.

DSC crea la classificazione dai valori dei dati più grandi a quelli più piccoli.

NULLS FIRST elenca per primi i membri con valori nulli.

NULLS LAST elenca per ultimi i membri con valori nulli.

WITHIN seleziona un set di membri di dimensione correlati da classificare.

PARENT classifica i membri allo stesso livello con lo stesso padre.

LEVEL classifica tutti i membri allo stesso livello.

ANCESTOR AT LEVEL level classifica tutti i membri allo stesso livello e con lo stesso padre a un livello specificato.

Esempio

Nell'esempio riportato di seguito i clienti in ogni area vengono classificati in base ai valori della misura UNITS. Ministry of Intl. Trad Nagano e KOSH Entrpr Bristol hanno lo stesso valore per UNITS ed entrambi hanno una classificazione pari a 3.50. La classificazione successiva è 5.00.

AVERAGE_RANK () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)

Esempio di funzione AVERAGE_RANK
Cliente
Livello
Unità
Classificazione media
Asia Pacific REGION
21,764.91
null
Japan WAREHOUSE
10,930.17
4.00
Australia WAREHOUSE
5,371.84
3.00
Hong Kong WAREHOUSE
2,799.93
2.00
Singapore WAREHOUSE
2,662.96
1.00
KOSH Entrpr Wanchai SHIP_TO
2,799.93
8.00
Computer Services Tokyo SHIP_TO
2,761.41
7.00
Ministry of Intl. Trad Nagoya SHIP_TO
2,754.14
6.00
KOSH Entrpr Tokyo SHIP_TO
2,714.69
5.00
Ministry of Intl. Trad Nagano SHIP_TO
2,699.94
3.50
KOSH Entrpr Bristol SHIP_TO
2,699.94
3.50
KOSH Entrpr Brisbane SHIP_TO
2,673.73
2.00
Computer Warehouse Singapore SHIP_TO
2,662.96
1.00

Argomenti correlati

DENSE_RANK, RANK, ROW_NUMBER