RANK classe les membres d'une dimension en fonction des valeurs d'une expression. La fonction renvoie les numéros de séquence des membres de dimension.
RANK attribue le même rang aux valeurs identiques. Il peut donc y avoir moins de rangs que de membres de dimension. Par exemple, RANK peut renvoyer 1, 2, 3, 3, 4 pour une série de cinq membres de dimension.
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 n'est pas implémenté dans cette fonction.
dimension correspond à la dimension dont les membres sont en cours de classement.
hierarchy désigne une hiérarchie de dimension. Sinon, la hiérarchie par défaut est utilisée.
ORDER BY sert de base pour le classement. Vous pouvez fournir des clauses ORDER BY supplémentaires pour traiter les éventuels ex aequo.
expression fournit les valeurs à utiliser comme base pour les classements.
ASC classe les valeurs de données de la plus petite à la plus grande.
DSC classe les valeurs de données de la plus grande à la plus petite.
NULLS FIRST énumère en premier les membres avec des valeurs NULL.
NULLS LAST énumère en dernier les membres avec des valeurs NULL.
WITHIN sélectionne un ensemble de membres de dimension connexes à classer.
PARENT classe les membres situés au même niveau avec le même parent.
LEVEL classe tous les membres situés au même niveau.
ANCESTOR AT LEVEL level classe tous les membres situés au même niveau et avec le même parent à un niveau particulier.
Dans l'exemple suivant, les clients sont classés dans chaque région en fonction des valeurs de l'indicateur UNITS. Les entrées "Ministry of Intl. Trad Nagano" et "KOSH Entrpr Bristol" possèdent la même valeur pour UNITS et ont tous deux le rang 3.00. Le rang suivant est 4.00.
RANK () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)
Client |
Niveau |
Unités |
Classement |
|---|---|---|---|
| Asie Pacifique | REGION | 21,764.91 |
null |
| Japan | WAREHOUSE | 10,930.17 |
4.00 |
| Australie | 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. Tous droits réservés.