# 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.

Partições em uma tabela

Partições em uma tabela

Partições em uma tabela ![Uma tabela mostrando segmentos de coluna](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

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:

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. |

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:

Valores de modemode

| 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.<br><br>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.<br><br>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:

Valores de fmtfmt

| 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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Exemplo: adicionando um campo classificado

Script de carregamento

Crie uma nova guia no editor de carregamento de dados e carregue os dados a seguir como um carregamento inline. Crie a tabela abaixo no Qlik Sense para ver os resultados.

```
Transactions:
Load
*,
Window(WRank(0),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Resultados

Resultados da adição de um campo classificado

| cabeçalho | transaction\_date | transaction\_amount | transaction\_quantity | ID do cliente | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Vermelho | 4-4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1-1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Azul | 2-2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Vermelho | 1-1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Azul | 3-3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Preto | 1-1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Preto | 3-3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Vermelho | 2-2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 4-4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Azul | 1-1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Vermelho | 2-2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Preto | 2-2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Preto | 2-2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Azul | 1-1 |

## Exemplo – Adicionando um campo classificado usando fmt para um resultado de um único dígito

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Exemplo: adicionando um campo classificado usando fmt para um resultado de um único dígito

Script de carregamento

Crie uma nova guia no editor de carregamento de dados e carregue os dados a seguir como um carregamento inline. Crie a tabela abaixo no Qlik Sense para ver os resultados.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Resultados

Resultados da adição de um campo classificado usando fmtfmt para um resultado de um único dígito

| cabeçalho | transaction\_date | transaction\_amount | transaction\_quantity | ID do cliente | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Vermelho | 4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Azul | 2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Vermelho | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Azul | 3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Preto | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Preto | 3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Vermelho | 2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Azul | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Vermelho | 2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Preto | 2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Preto | 2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Azul | 1 |

## Exemplo – Adicionando um campo classificado com múltiplas partições

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Exemplo: adicionando um campo classificado com múltiplas partições

Script de carregamento

Crie uma nova guia no editor de carregamento de dados e carregue os dados a seguir como um carregamento inline. Crie a tabela abaixo no Qlik Sense para ver os resultados.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Resultados

Resultados da adição de um campo classificado usando fmtfmt para um resultado de um único dígito

| cabeçalho | transaction\_date | transaction\_amount | transaction\_quantity | ID do cliente | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Vermelho | 2 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Azul | 1 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Vermelho | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Azul | 1 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Preto | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Preto | 2 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Vermelho | 1 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 2 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Azul | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Vermelho | 1 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Preto | 1 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Preto | 1 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Azul | 1 |

## 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.