Функции ранжирования
Список функций ранжирования, которые можно использовать в выражениях.
Функция | Описание |
---|---|
DenseRank(Arg1, Arg2, Arg3...) | Возвращает целочисленное значение, ранжирующее значения в выбранном столбце. Первым аргументом является ранжируемый столбец. Дополнительным аргументом может быть строка, определяющая метод ранжирования: по возрастанию (используется по умолчанию) или по убыванию. Чтобы наивысшее значение занимало первое место, используйте аргумент desc, а чтобы на первом месте было самое низкое значение, используйте asc. Равным значением присваивается одинаковый ранг, а номер высшего значения равен числу уникальных значений в столбце. Дополнительные (необязательные) аргументы столбца можно использовать, когда столбец требуется разделить на отдельные ранжированные категории. Примеры. DenseRank([Sales]) DenseRank([Sales], "desc", [Region]) Пример см. в разделе Ранжирование. |
Rank(Arg1, Arg2, Arg3...) | Возвращает целочисленное значение, ранжирующее значения в выбранном столбце. Первым аргументом является ранжируемый столбец. Дополнительным аргументом может быть строка, определяющая метод ранжирования: по возрастанию (используется по умолчанию) или по убыванию. Чтобы наивысшее значение занимало первое место, используйте аргумент desc, а чтобы на первом месте было самое низкое значение, используйте asc. Одинаковым значениям значения ранга присваиваются в соответствии со значениями необязательных аргументов: "ties.method=minimum" (по умолчанию), "ties.method=maximum" или "ties.method=first". Дополнительные сведения о доступных аргументах см. ниже в разделе Подробнее о ранжировании равных значений. Дополнительные (необязательные) аргументы столбца можно использовать, когда столбец требуется разделить на отдельные ранжированные категории. Примеры. Rank([Sales]) Rank([Sales], "desc", [Region]) Rank([Sales], "ties.method=first") Пример см. в разделе Ранжирование. |
RankReal(Arg1, Arg2, Arg3...) | Возвращает фактическое значение, ранжирующее значения в выбранном столбце. Первым аргументом является ранжируемый столбец. Дополнительным аргументом может быть строка, определяющая метод ранжирования: по возрастанию (используется по умолчанию) или по убыванию. Чтобы наивысшее значение занимало первое место, используйте аргумент desc, а чтобы на первом месте было самое низкое значение, используйте asc. Одинаковым значениям значения ранга присваиваются в соответствии со значениями необязательных аргументов: "ties.method=minimum" (по умолчанию), "ties.method=maximum", "ties.method=first" или "ties.method=average". Дополнительные сведения о доступных аргументах см. ниже в разделе Подробнее о ранжировании равных значений. Метод средних равных значений используется при вычислении связей данных с помощью коэффициента Спирмена. Дополнительные (необязательные) аргументы столбца можно использовать, когда столбец требуется разделить на отдельные ранжированные категории. Примеры. RankReal([Sales]) RankReal([Sales], "desc", [Region]) RankReal([Sales], "ties.method=average") |
Подробнее о ранжировании равных значений
В зависимости от того, как требуется ранжировать равные значения, можно добавить необязательный аргумент метода равных значений с помощью функций Rank и RankReal.
Аргумент | Описание |
"ties.method=minimum" | Дает всем равным значениям наименьшее значение ранга. |
"ties.method=maximum" | Дает всем равным значениям наибольшее значение ранга. |
"ties.method=first" | Дает первому найденному равному значению наименьшее значение ранга, а всем последующим равным значениям более высокие значения ранга. |
"ties.method=average" | Дает всем равным значениям среднее значение ранга всех равных значений. |
Пример.
При ранжировании списка значения в нем прежде всего сортируются. Затем отсортированным значениям в зависимости от их положения в списке назначается значение ранга. Ранг, который получают равные значения, зависит от выбранного метода. Пустые значения пропускаются и не получают никакого ранга.
Список значений | Метод ранжирования "ties.method=minimum" | Метод ранжирования "ties.method=maximum" | Метод ранжирования "ties.method=first" | Метод ранжирования "ties.method=average" |
1 | 1 | 1 | 1 | 1 |
2 | 2 | 3 | 2 | 2,5 |
3 | 4 | 4 | 4 | 4 |
2 | 2 | 3 | 3 | 2,5 |
(Пусто) | (Пусто) | (Пусто) | (Пусто) | (Пусто) |
5 | 5 | 5 | 5 | 5 |
Если бы использовалась функция DenseRank, то в приведенном примере были бы сформированы значения ранга 1 2 3 4.
Также см. раздел Функции.