Saltar al contenido principal
Workday User Guide
Última actualización: 2023-06-23
RANK

RANK

Descripción

RANK
es una función de agregado de ventana que se utiliza para asignar un número de clasificación a cada fila de un grupo. Si varias filas tienen el mismo valor de clasificación (hay un empate), Workday asigna el mismo valor de clasificación a las filas empatadas y omite la siguiente posición de clasificación.
El
PARTITION BY
determina qué campos se utilizarán para dividir un conjunto de filas de entrada en grupos.
El
ORDER BY
determina cómo ordenar las filas en la partición antes de que se clasifiquen.
Workday separa las filas de entrada en grupos según los campos de partición, ordena las filas según los campos de ordenación y, a continuación, calcula la expresión agregada (rango para esta función) en cada grupo. Las filas clasificadas de cada grupo comienzan en 1.

Sintaxis

RANK
()
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]] )

Valor devuelto

Devuelve un valor de tipo
Integer
.

Parámetros de entrada

OVER()
Obligatorio
OVER
debe utilizarse en un
RANK
expresión
PARTICIÓN POR
campo_partición
Es obligatorio. Utilizar el
PARTITION BY
para especificar uno o varios campos que se utilizarán para dividir un grupo de filas de entrada. Puede especificar cualquier tipo de campo excepto Moneda. Ejemplo: especifica el campo Mes como campo de partición, por lo que Workday agrupa en una sola partición todos los registros que tienen el mismo valor para Mes.
ORDER BY
ordering_field
Es obligatorio. Utilizar el
ORDER BY
para especificar cómo ordenar las filas de entrada en la partición utilizando los valores del campo especificado dentro de cada partición. Puede especificar cualquier tipo de campo excepto Moneda.
Puede utilizar el
DESC
o
ASC
palabras clave para ordenar en orden descendente (valores de mayor a menor, los valores NULL son los últimos) o ascendente (valores de menor a mayor, los valores NULL son los primeros) para cada campo de ordenación. Si no especifica un criterio de ordenación para un campo de ordenación, Workday ordena automáticamente las filas en orden ascendente.

Ejemplos

Ejemplo: tiene un conjunto de datos con estas filas y campos.
Empleado
Fecha de venta
Ventas
Goh
12/31/2018
140
Goh
11/30/2018
60
Goh
10/31/2018
140
Freeman
12/31/2018
160
Freeman
11/30/2018
60
Freeman
10/31/2018
110
Herrero
12/31/2018
140
Herrero
11/30/2018
60
Herrero
10/31/2018
120
Puede clasificar las ventas de cada empleado en orden descendente, de modo que las ventas más altas reciban la clasificación 1. Utilice esta expresión en el campo
Clasificar ventas por empleado
:
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
Obtiene los siguientes resultados:
Empleado
Fecha de venta
Ventas
Clasificar ventas por empleado
Goh
12/31/2018
140
1
Goh
10/31/2018
140
1
Goh
11/30/2018
60
3
Freeman
12/31/2018
160
1
Freeman
10/31/2018
110
2
Freeman
11/30/2018
60
3
Herrero
12/31/2018
140
1
Herrero
10/31/2018
120
2
Herrero
11/30/2018
60
3
También puede clasificar las ventas de cada fecha en orden descendente, de modo que las ventas más altas reciban la clasificación 1. Utilice esta expresión en el campo
Clasificar ventas por fecha
:
RANK() OVER( PARTITION BY [Sales Date] ORDER BY [Sales] DESC)
Obtiene los siguientes resultados:
Empleado
Fecha de venta
Ventas
Clasificar ventas por fecha
Freeman
12/31/2018
160
1
Goh
12/31/2018
140
2
Herrero
12/31/2018
140
2
Goh
11/30/2018
60
1
Freeman
11/30/2018
60
1
Herrero
11/30/2018
60
1
Goh
10/31/2018
140
1
Herrero
10/31/2018
120
2
Freeman
10/31/2018
110
3
Tenga en cuenta que a los valores empatados se les asigna el mismo número de clasificación y se omite la siguiente posición de clasificación.