WRank ― функция скрипта
WRank() оценивает строки таблицы в скрипте загрузки и для каждой строки отображает относительное положение значения поля, оцененного в выражении. При оценке выражения эта функция сравнивает результат с результатом других строк, содержащих текущий сегмент столбца, и возвращает ранжирование текущей строки в сегменте.
WRank можно использовать только в функции Window. Функция Window должна включать тип и выражение сортировки. Ранжирование применяется в выражении сортировки.
Синтаксис:
WRank ([mode[, fmt]])
Возвращаемые типы данных: двойное значение
Аргументы:
Аргумент | Описание |
---|---|
mode | При необходимости указывает числовое представление результата функции. |
fmt | При необходимости указывает текстовое представление результата функции. |
TOTAL |
Если таблица имеет одно измерение, или если скрипту предшествует квалификатор TOTAL, функция оценивается по всему столбцу. Если таблица или эквивалент таблицы имеют несколько вертикальных измерений, текущий раздел будет включать только строки с теми же значениями, что и текущая строка во всех столбцах измерений, кроме столбца с последним измерением в межполевом порядке сортировки. |
Ранжирование возвращается в виде двойного значения, которое, в случае если каждая строка имеет уникальное ранжирование, будет представлять собой целое число от 1 до количества строк в текущем разделе.
В случае, если несколько строк имеют одно и то же ранжирование, текстовое и числовое представления могут управляться параметрами mode и fmt.
mode
Первый аргумент, mode, может принимать следующие значения:
Значение | Описание |
---|---|
0 (по умолчанию) |
Если все ряды в совместно используемой группе выпадают на нижнюю часть среднего значения всего ранжирования, все строки получают низший ряд в совместно используемой группе. Если все ряды в совместно используемой группе выпадают на верхнюю часть среднего значения всего ранжирования, все строки получают высший ряд в совместно используемой группе. Если ряды в совместно используемой группе охватывают среднее значение всего ранжирования, все строки получают значение, соответствующее среднему значению верхнего и нижнего ранжирования во всем разделе. |
1 | Нижний ряд на всех строках. |
2 | Средний ряд на всех строках. |
3 | Высший ряд на всех строках. |
4 | Самый нижний ряд на первой строке, увеличенный на один для каждой строки. |
fmt
Второй аргумент, fmt, может принимать следующие значения:
Значение | Описание |
---|---|
0 (по умолчанию) | Низкое значение - высокое значение во всех строках (например, 3–4). |
1 | Нижнее значение на всех строках. |
2 | Нижнее значение на первой строке, пустое на следующих строках. |
Порядок строк mode 4 и fmt 2 определяется порядком загрузки полей таблицы.
Пример ― добавление ранжированного поля
Пример ― добавление ранжированного поля с использованием fmt для одного числового результата
Пример ― добавление ранжированного поля с несколькими разделами
Ограничения
WRank имеет следующие ограничения:
-
Если значение fmt равно 0 и требуется использовать текстовую часть двойного результата для WRank, необходимо использовать Text() вместе с Window(WRank). Пример: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.