# Función de script: WRank

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. Al evaluar la tabla, la función compara el resultado con el resultado de las otras filas que contienen la partición actual y devuelve la clasificación de la fila actual dentro del segmento.

Particiones en una tabla

Particiones en una tabla

Particiones en una tabla ![Una tabla que muestra los segmentos de columnas](https://help.qlik.com/es-ES/qlikview/May2024/Subsystems/Client/Content/Resources/Images/table_column_segments.png)

WRank sólo se puede usar en una función Window. La función Window debe incluir un tipo de ordenación y una expresión de ordenación . El ranking o clasificación se aplica a la expresión de ordenación.

Sintaxis:

WRank ([mode[, fmt]])

Tipo de datos que devuelve: dual

Argumentos:

Argumentos

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

La clasificación se devuelve como un valor dual, que en el caso de que cada fila tenga una clasificación única, es un número entero entre 1 y el número de filas de la partición actual.

En caso de que varias filas compartan un mismo ranking, el texto y la representación numérica pueden controlarse 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 toda la partición. |
| 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 el mode 4 y fmt 2 viene determinado por el orden de carga de los campos de tabla.

## Ejemplo: agregar un campo clasificado

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/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 al agregar un campo clasificado

| transaction\_id | 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 un resultado de un solo dígito

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/WindowFunctions/wrank.htm)

#### Ejemplo: agregar un campo clasificado usando fmt para 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 de agregar un campo clasificado usando fmtfmt para un resultado de un solo dígito

| transaction\_id | 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/qlikview/Subsystems/Client/Content/QV_QlikView/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 de agregar un campo clasificado usando fmtfmt para un resultado de un solo dígito

| transaction\_id | 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 usar Text() con Window(WRank). Por ejemplo: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.