Ir para o conteúdo principal
Workday User Guide
Última atualização: 2023-06-23
RANK

RANK

Descrição

RANK
é uma função de agregação de janela usada para atribuir um número de classificação a cada linha em um grupo. Se várias linhas têm o mesmo valor de classificação (há um empate), o Workday atribui o mesmo valor de classificação às linhas em linha e ignora a posição da classificação subsequente.
O
PARTITION BY
A cláusula determina quais campos usar para dividir um conjunto de linhas de entrada em grupos.
O
ORDER BY
A cláusula determina como as linhas devem ser ordenadas na partição antes de serem classificadas.
O Workday separa as linhas de entrada em grupos de acordo com os campos de particionamento, ordena as linhas de acordo com os campos de ordenação e calcula a expressão agregada (classificação para essa função) em cada grupo. As linhas classificadas em cada grupo começam em 1.

Sintaxe

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

Valor de retorno

Retorna um valor do tipo
Integer
.

Parâmetros de entrada

OVER()
Obrigatório.
OVER
deve ser usado em um período de
RANK
expressão.
PARTITION BY
partição_field
É obrigatório. Use as teclas
PARTITION BY
Para especificar um ou mais campos a serem usados para particionar um grupo de linhas de entrada. Você pode especificar qualquer tipo de campo, exceto Moeda. Exemplo: você especifica o campo Mês como o campo de partição, para que o Workday agrupe em uma única partição todos os registros que têm o mesmo valor para Mês.
ORDER BY
order_field
É obrigatório. Use as teclas
ORDER BY
para especificar como ordenar as linhas de entrada na partição usando os valores no campo especificado dentro de cada partição. Você pode especificar qualquer tipo de campo, exceto Moeda.
Você pode usar o botão
DESC
ou
ASC
Palavras-chave para classificar em ordem decrescente (valores do mais alto para o menor, valores NULL são os últimos) ou crescente (valores do menor para o maior, valores NULL são os primeiros) para cada campo de ordenação. Se você não especifica uma ordem de classificação para um campo de ordenação, o Workday classifica as linhas automaticamente em ordem crescente.

Exemplos

Exemplo: você tem um conjunto de dados com essas linhas e campos.
Colaborador
Data de venda
Sales
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
Smith
12/31/2018
140
Smith
11/30/2018
60
Smith
10/31/2018
120
Você pode classificar as vendas de cada colaborador em ordem decrescente, de forma que as vendas mais altas recebam a classificação 1. Use esta expressão no campo
Classificar vendas por colaborador
:
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
Você obtém estes resultados:
Colaborador
Data de venda
Sales
Classificar vendas por colaborador
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
Smith
12/31/2018
140
1
Smith
10/31/2018
120
2
Smith
11/30/2018
60
3
Você também pode classificar as vendas de cada data em ordem decrescente, de forma que as vendas mais altas recebam a classificação 1. Use esta expressão no campo
Classificar vendas por data
:
RANK() OVER( PARTITION BY [Sales Date] ORDER BY [Sales] DESC)
Você obtém estes resultados:
Colaborador
Data de venda
Sales
Classificar vendas por data
Freeman
12/31/2018
160
1
Goh
12/31/2018
140
2
Smith
12/31/2018
140
2
Goh
11/30/2018
60
1
Freeman
11/30/2018
60
1
Smith
11/30/2018
60
1
Goh
10/31/2018
140
1
Smith
10/31/2018
120
2
Freeman
10/31/2018
110
3
Observe que os valores empatados recebem o mesmo número de classificação e a posição da classificação seguinte é ignorada.