WRank - função de script
WRank() avalia as linhas de uma tabela no script de carregamento e, para cada linha, exibe a posição relativa do valor do campo avaliado no script de carregamento. Ao avaliar a tabela, a função compara o resultado com o resultado das outras linhas que contêm a partição atual e retorna a classificação da linha atual dentro do segmento.
WRank só pode ser usado em uma função Window. A função Window deve incluir um tipo de classificação e uma expressão de classificação. A classificação é aplicada na expressão de classificação.
Sintaxe:
WRank ([mode[, fmt]])
Tipo de dados de retorno: dual
Argumentos:
Argumento | Descrição |
---|---|
mode | Opcionalmente, especifica a representação numérica do resultado da função. |
fmt | Opcionalmente, especifica a representação de texto do resultado da função. |
TOTAL |
Se a tabela for unidimensional ou se o script for precedido pelo qualificador TOTAL, a função será avaliada ao longo de toda a coluna. Se a tabela ou o equivalente de tabela tiver várias dimensões verticais, a partição atual incluirá somente linhas com os mesmos valores que a linha atual em todas as colunas de dimensão, exceto na coluna que mostrar a última dimensão na ordem de classificação entre os campos. |
A classificação é retornada como um valor duplo, que, quando cada linha tiver uma classificação única, será um número inteiro entre 1 e o número de linhas do segmento da partição atual.
Caso várias linhas compartilhem a mesma posição, a representação textual e numérica poderá ser controlada com os parâmetros mode e fmt.
mode
O primeiro argumento, mode, pode assumir os seguintes valores:
Valor | Descrição |
---|---|
0 (padrão) |
Se todas as posições dentro do grupo de compartilhamento estiverem no lado inferior do valor intermediário da posição, todas as linhas receberão a posição mais baixa dentro do grupo. Se todas as posições de compartilhamento dentro do grupo estiverem no lado superior do valor intermediário da posição, todas as linhas receberão a posição mais alta dentro do grupo. Se as posições dentro do grupo se estenderem além do valor intermediário de toda a posição, todas as linhas receberão o valor correspondente à média da posição superior e inferior de toda a partição. |
1 | Posição mais baixa em todas as linhas. |
2 | Posição média em todas as linhas. |
3 | Posição mais alta em todas as linhas. |
4 | Posição mais baixa na primeira linha, depois, aumentada em incrementos de um para cada linha. |
fmt
O segundo argumento, fmt, pode ter os seguintes valores:
Valor | Descrição |
---|---|
0 (padrão) | Valor baixo - valor alto em todas as linhas (por exemplo 3-4). |
1 | Valor baixo em todas as linhas. |
2 | Valor baixo na primeira linha, em branco nas linhas seguintes. |
A ordem das linhas para mode 4 e fmt 2 é determinada pela ordem de carregamento dos campos da tabela.
Exemplo – Adicionando um campo classificado
Exemplo – Adicionando um campo classificado usando fmt para um resultado de um único dígito
Exemplo – Adicionando um campo classificado com múltiplas partições
Limitações
WRank tem as seguintes limitações:
-
Se o seu valor fmt for 0 e você quiser usar a parte de texto do resultado duplo para WRank, você deverá usar Text() com Window(WRank). Por exemplo: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.