ROW_NUMBER

ROW_NUMBER ordena los miembros de una dimensión según los valores de una expresión. Esta función devuelve los números de secuencia de los miembros de la dimensión.

ROW_NUMBER asigna una clasificación única a cada uno de los miembros de la dimensión; si los valores son idénticos, la clasificación es arbitraria. Por ejemplo, ROW_NUMBER siempre devolverá 1, 2, 3, 4, 5 para una serie de cinco miembros de dimensión aunque todos tengan el mismo valor.

Valor de Retorno

NUMBER

Sintaxis

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

Argumentos

ntile_expression no se implementa en esta función.

dimension es la dimensión cuyos miembros se clasifican.

hierarchy es una jerarquía de dimension. Si no se especifica, se utiliza la jerarquía por defecto.

ORDER BY proporciona la base para la clasificación. Puede proporcionar cláusulas ORDER BY adicionales para deshacer los empates en el orden.

expression proporciona los valores que se utilizan como base de las clasificaciones.

ASC crea la clasificación de los valores de datos más pequeños a los más grandes.

DSC crea la clasificación de los valores de datos más grandes a los más pequeños.

NULLS FIRST muestra primero los miembros con valores nulos.

NULLS LAST muestra al final los miembros con valores nulos.

WITHIN selecciona el juego de miembros de la dimensión relacionados que se debe clasificar.

PARENT clasifica los miembros al mismo nivel con el mismo principal.

LEVEL clasifica todos los miembros al mismo nivel.

ANCESTOR AT LEVEL nivel clasifica todos los miembros al mismo nivel y con el mismo principal al nivel especificado.

Ejemplo

El siguiente ejemplo clasifica los clientes de cada región según los valores de la medida UNITS. Ministry of Intl. Trad Nagano y KOSH Entrpr Bristol tienen el mismo valor para UNITS pero se clasifican de manera arbitraria con 3.00 y 4.00.

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

Ejemplo de la Función ROW_NUMBER
Cliente
Nivel
Unidades
Número de Fila
Pacífico Asiático REGION
21.764,91
nulo
Japón WAREHOUSE
10.930,17
4.00
Australia WAREHOUSE
5.371,84
3.00
Hong Kong WAREHOUSE
2.799,93
2.00
Singapur 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
KOSH Entrpr Bristol SHIP_TO
2.699,94
4.00
Ministry of Intl. Trad Nagano 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

Temas Relacionados

AVERAGE_RANK, DENSE_RANK, RANK