# WRank — функция скрипта

WRank() оценивает строки таблицы в скрипте загрузки и для каждой строки отображает относительное положение значения поля, оцененного в скрипте загрузки. При оценке таблицы эта функция сравнивает результат с результатом других строк, содержащих текущий раздел, и возвращает ранжирование текущей строки в сегменте.

Разделы в таблице

Разделы в таблице

Разделы в таблице ![Таблица с сегментами столбцов](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/Resources/Images/table_column_segments.png)

WRank можно использовать только в функции Window. Функция Window должна включать тип и выражение сортировки. Ранжирование применяется в выражении сортировки.

Синтаксис:

WRank ([mode[, fmt]])

Возвращаемые типы данных: двойное значение

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| mode | При необходимости указывает числовое представление результата функции. |
| fmt | При необходимости указывает текстовое представление результата функции. |

Ранжирование возвращается в виде двойного значения, которое, в случае если каждая строка имеет уникальное ранжирование, будет представлять собой целое число от 1 до количества строк в текущем разделе.

В случае, если несколько строк имеют одно и то же ранжирование, текстовое и числовое представления могут управляться параметрами mode и fmt.

###### mode

Первый аргумент, mode, может принимать следующие значения:

Значения modemode

| Значение | Описание |
| --- | --- |
| 0 (по умолчанию) | Если все ряды в совместно используемой группе выпадают на нижнюю часть среднего значения всего ранжирования, все строки получают низший ряд в совместно используемой группе.<br><br>Если все ряды в совместно используемой группе выпадают на верхнюю часть среднего значения всего ранжирования, все строки получают высший ряд в совместно используемой группе.<br><br>Если ряды в совместно используемой группе охватывают среднее значение всего ранжирования, все строки получают значение, соответствующее среднему значению верхнего и нижнего ранжирования во всем разделе. |
| 1 | Нижний ряд на всех строках. |
| 2 | Средний ряд на всех строках. |
| 3 | Высший ряд на всех строках. |
| 4 | Самый нижний ряд на первой строке, увеличенный на один для каждой строки. |

###### fmt

Второй аргумент, fmt, может принимать следующие значения:

Значения fmtfmt

| Значение | Описание |
| --- | --- |
| 0 (по умолчанию) | Низкое значение - высокое значение во всех строках (например, 3–4). |
| 1 | Нижнее значение на всех строках. |
| 2 | Нижнее значение на первой строке, пустое на следующих строках. |

Порядок строк mode 4 и fmt 2 определяется порядком загрузки полей таблицы.

## Пример. Добавление ранжированного поля

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

#### Пример. Добавление ранжированного поля

Скрипт загрузки

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. Создайте приведенную ниже таблицу ниже в Qlik Sense, чтобы увидеть результаты.

```
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
];
 
```

Результаты

Результаты добавления ранжированного поля

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Red | 4-4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Оранжевый | 1-1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Синий | 2-2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Red | 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 | Красный | 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 | Red | 2-2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Black | 2-2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Черный | 2-2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Синий | 1-1 |

## Пример. Добавление ранжированного поля с использованием fmt для результата, представленного одноразрядным числом

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

#### Пример. Добавление ранжированного поля с использованием fmt для результата, представленного одноразрядным числом

Скрипт загрузки

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. Создайте приведенную ниже таблицу ниже в Qlik Sense, чтобы увидеть результаты.

```
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
];
 
```

Результаты

Результат добавления ранжированного поля с использованием fmtfmt для одного числового результата

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Red | 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 | Red | 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 | Red | 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 | Red | 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 |

## Пример. Добавление ранжированного поля с несколькими разделами

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

#### Пример. Добавление ранжированного поля с несколькими разделами

Скрипт загрузки

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. Создайте приведенную ниже таблицу ниже в Qlik Sense, чтобы увидеть результаты.

```
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
];
 
```

Результаты

Результат добавления ранжированного поля с использованием fmtfmt для одного числового результата

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Red | 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 | Red | 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 | Red | 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 | Red | 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 |

## Ограничения

WRank имеет следующие ограничения:

* Если значение fmt равно 0 и требуется использовать текстовую часть двойного результата для WRank, необходимо использовать Text() вместе с Window(WRank). Пример: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.