# WRank - función de script

WRank() evalúa las filas de una tabla en el script de carga y, para cada fila, muestra la posición relativa del valor del campo evaluado en el script de carga. Cuando se evalúa la tabla, esta función compara el resultado con el resultado de las otras filas que contienen el segmento de columna actual y devuelve la clasificación de la fila actual dentro del segmento.

Particiones de una tabla

Particiones de una tabla

Particiones de una tabla ![Una tabla que muestra segmentos de columna](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

WRank solo se puede utilizar en una función Window. La función Window debe incluir un tipo de clasificación y una expresión de orden. El ranking o clasificación se aplica en la expresión de orden.

Sintaxis:

WRank ([mode[, fmt]])

Tipo de datos que devuelve: dual

Argumentos:

Argumentos

| Argumento | Descripción |
| --- | --- |
| mode | Opionalmente, especifica la representación numérica del resultado de la función. |
| fmt | Opionalmente, especifica la representación textual del resultado de la función. |
| TOTAL | Si la tabla es unidimensional o si el script va precedido por el calificador TOTAL, la función se evalúa a lo largo de toda la columna. Si la tabla o el equivalente de tabla tiene múltiples dimensiones verticales, la partición actual incluirá únicamente las filas que tengan los mismos valores que la fila actual en todas las columnas de dimensión, excepto la columna que muestra la última dimensión en el orden de campos interno. |

El número de clasificación o ranking se devuelve en la forma de un valor dual, el cual, en el caso de que cada fila tenga una clasificación única, será un entero entre 1 y el número de filas de la partición actual.

En caso de que varias filas compartan una misma clasificación o ranking, el texto y la representación numérica se pueden controlar mediante los parámetros mode y fmt.

###### mode

El primer argumento, mode, puede tomar los siguientes valores:

Valores modemode

| Valor | Descripción |
| --- | --- |
| 0 (por defecto) | Si todos los rangos dentro del grupo compartido caen dentro del extremo más bajo del valor de en medio del ranking entero, todas las filas reciben el rango menor dentro del grupo compartido.<br><br>Si todos los rangos dentro del grupo compartido caen dentro del extremo más alto del valor de en medio del ranking entero, todas las filas reciben el rango menor dentro del grupo compartido.<br><br>Si todos los rangos dentro del grupo compartido se salen del valor central del ranking completo, todas las filas reciben el valor correspondiente a la media del ranking superior e inferior en la partición completa. |
| 1 | Rango más bajo en todas las filas. |
| 2 | Rango promedio en todas las filas. |
| 3 | Rango más alto en todas las filas. |
| 4 | Rango más bajo en la primera fila, incrementado por uno para cada fila. |

###### fmt

El segundo argumento, fmt, puede tomar los siguientes valores:

Valores fmtfmt

| Valor | Descripción |
| --- | --- |
| 0 (por defecto) | Valor bajo - valor alto en todas las filas (por ejemplo 3 - 4). |
| 1 | Valor bajo en todas las filas. |
| 2 | Valor más bajo en la primera fila, espacio en blanco en las siguientes filas. |

El orden de las filas para mode 4 y fmt 2 viene determinado por el orden de carga de los campos de la tabla.

## Ejemplo: agregar un campo clasificado

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

#### Ejemplo: agregar un campo clasificado

Script de carga

Cree una nueva pestaña en el editor de carga de datos y luego cargue los siguientes datos como una carga inline. Cree la tabla siguiente en Qlik Sense para ver los 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 para la agregación de un campo clasificado

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

## Ejemplo: agregar un campo clasificado usando fmt para tener un resultado de un solo dígito

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

#### Ejemplo: agregar un campo clasificado usando fmt para tener un resultado de un solo dígito

Script de carga

Cree una nueva pestaña en el editor de carga de datos y luego cargue los siguientes datos como una carga inline. Cree la tabla siguiente en Qlik Sense para ver los 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 para agregar un campo clasificado usando fmtfmt para tener un resultado de un solo dígito

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

## Ejemplo: agregar un campo clasificado con múltiples particiones

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

#### Ejemplo: agregar un campo clasificado con múltiples particiones

Script de carga

Cree una nueva pestaña en el editor de carga de datos y luego cargue los siguientes datos como una carga inline. Cree la tabla siguiente en Qlik Sense para ver los 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 para agregar un campo clasificado usando fmtfmt para tener un resultado de un solo dígito

| id\_transacción | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Rojo | 2 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Blue | 1 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Rojo | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Blue | 1 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Black | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Black | 2 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Rojo | 1 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 2 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Blue | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Rojo | 1 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Black | 1 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Black | 1 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Blue | 1 |

## Limitaciones

WRank tiene las siguientes limitaciones:

* Si su valor fmt es 0 y desea utilizar la parte de texto del resultado dual para WRank, debe utilizar Text() con Window(WRank). Por ejemplo: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.