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.
RANK assegna la stessa classificazione a valori identici, pertanto il numero delle classificazioni può essere inferiore a quello dei membri della dimensione. Ad esempio, RANK può restituire 1, 2, 3, 3, 4 per una serie di cinque membri della dimensione.
NUMBER
RANK (ntile_expression) OVER HIERARCHY
( dimension | hierarchy
ORDER BY expression [ASC | DSC] [NULLS {FIRST | LAST}]...
WITHIN {PARENT | LEVEL | ANCESTOR AT LEVEL level}
)
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.
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.00. La classificazione successiva è 4.00.
RANK () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)
Cliente |
Livello |
Unità |
Classifica |
|---|---|---|---|
| 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 |
7.00 |
| Computer Services Tokyo | SHIP_TO | 2,761.41 |
6.00 |
| Ministry of Intl. Trad Nagoya | SHIP_TO | 2,754.14 |
5.00 |
| KOSH Entrpr Tokyo | SHIP_TO | 2,714.69 |
4.00 |
| Ministry of Intl. Trad Nagano | SHIP_TO | 2,699.94 |
3.00 |
| KOSH Entrpr Bristol | SHIP_TO | 2,699.94 |
3.00 |
| KOSH Entrpr Brisbane | SHIP_TO | 2,673.73 |
2.00 |
| Computer Warehouse Singapore | SHIP_TO | 2,662.96 |
1.00 |
AVERAGE_RANK, DENSE_RANK, ROW_NUMBER
Copyright © 2003, 2007, Oracle. Tutti i diritti riservati.