Функция скрипта — 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.