Функции ранжирования Qlik Sense – функция ранжирования HRank
1. Цель
Сегодня мы поговорим о функциях ранжирования Qlik Sense. Также мы рассмотрим использование функций ранжирования в выражениях диаграммы. Эти функции ранжирования Qlik Sense используются для ранжирования значения строки, сравнивая его с другими значениями в других строках таблицы. Такие оценки важны при проведении сравнительного анализа ценностей.
Функции ранжирования Qlik Sense – функция ранжирования HRank
Итак, рассмотрим функции ранжирования Qlik Sense.
2. Функции ранжирования Qlik Sense
i. Функция Rank()
Функция rank() используется для ранжирования значений в измерении, которое содержится в строках. Значения в каждой строке оцениваются и сравниваются со значениями в других строках в том же измерении или поле. Итак, после сравнения значений в строках, строки или соответствующие значения ранжируются на основе того, насколько велико или мало значение по сравнению с другими значениями. Например, 100 будет занимать 1-е место, 95 – 2-е и так далее. Эта функция возвращает значение в двойном формате, то есть как в текстовом, так и в числовом представлении.
Синтаксис:
Rank([TOTAL] expr[, mode[, fmt]])
Где expr – это измерение или поле, строки или значения которого вы хотите отсортировать и ранжировать.
Режим устанавливает числовое представление ранга, возвращаемого функцией. Вы можете установить этот параметр в несколько значений, например, 0, является значением по умолчанию и присваивает ранг значениям в зависимости от того, на какую сторону от среднего значения они попадают. В основном, если значение попадает в нижнюю часть среднего значения, оно возвращает номер самого низкого ранга. И если значение попадает в верхнюю часть среднего значения, функция возвращает наивысшее значение ранга.
Другие значения также могут быть установлены в 1 (самый низкий ранг), 2 (средний ранг), 3 (самый высокий ранг во всех строках) и 4 (для самого низкого ранга в первой строке, затем один ранг увеличивается для каждого нового значения).
Fmt устанавливает текстовое представление ранга, возвращаемого функцией. Для этого параметра можно установить несколько значений, например, 0, значение по умолчанию, обозначающее диапазон от низкого до высокого значения. 1 для низкого значения во всех строках и 2 для низкого значения в первой строке, затем пустое значение во всех остальных.
Префикс или квалификатор TOTAL, если он используется, оценивает все столбцы или измерения таблицы и включает в оценку только те значения, которые совпадают со значением, которое он оценивает в текущей строке.
Например, у нас есть запись данных с такими полями, как «Customer» (Клиент) и «Sales» (Продажи). Строки в полях содержат значения продаж для соответствующих клиентов. Используя функцию ранжирования Rank (Sales), мы собираемся создать поле меры в таблице, которое будет ранжировать значения продаж, отсортированные по Клиенту или по Продажам.
Итак, как видно из представленной ниже таблицы, значения сортируются на основе Клиента, поэтому все значения, соответствующие Benedict, будут оцениваться и ранжироваться первыми. 1-й ранг присваивается самому высокому значению, 88. Ранги понижаются с уменьшением значения. Итак, после того, как оценка ценностей Бенедикта завершена, берут на оценку Ethan. Самая низкая ценность ассоциируется с Ethan – 12, и, следовательно, ей присваивается самый низкий ранг 10.
Customer |
Sales |
Rank(Sales) |
Benedict |
12 |
9 |
Benedict |
28 |
7 |
Benedict |
45 |
6 |
Benedict |
58 |
5 |
Benedict |
60 |
4 |
Benedict |
65 |
3 |
Benedict |
70 |
2 |
Benedict |
88 |
1 |
Ethan |
12 |
10 |
Если таблица отсортирована по продажам, то для любого значения продаж, одинакового для двух клиентов, ранг будет 1-2, а для тех значений, для которых значение продаж уникально, ранг будет равен 1.
Customer |
Sales |
Rank(Sales) |
Benedict |
12 |
1-2 |
Ethan |
12 |
1-2 |
Benedict |
25 |
1 |
Ethan |
34 |
1 |
Benedict |
45 |
1 |
Benedict |
48 |
1-2 |
Ethan |
48 |
1-2 |
Ethan |
56 |
1-3 |
Joshua |
56 |
1-3 |
Mathew |
56 |
1-3 |
Как видите, когда значение продаж, скажем, 12, это общее значение для двух клиентов, Benedict и Ethan, тогда присваивается ранг 1-2. А когда значение продаж 56 является общим для трех клиентов, Benedict, Joshua и Ethan, тогда ранг будет 1-3.
ii. Функция HRank()
Функция HRank() используется исключительно для сводных таблиц и возвращает NULL, если используется в любой другой визуализации. Эта функция оценивает значение, данное в строке столбца в сводной таблице, и ранжирует его в соответствии со значениями в том же сегменте строки в других столбцах. Таким образом, результатом будет ранжирование текущего оцениваемого значения среди всех сегментов строки (т. е. Оценка значений строки по горизонтали).
Синтаксис:
HRank([ TOTAL ] expr [ , mode [, fmt ] ])
Где expr – это измерение или поле, строки или значения которого вы хотите отсортировать и ранжировать.
Вы можете установить этот параметр в несколько значений, например, 0, является значением по умолчанию и присваивает ранг значениям в зависимости от того, на какую сторону от среднего значения они попадают. В основном, если значение попадает в нижнюю часть среднего значения, оно возвращает номер самого низкого ранга. И если значение попадает в верхнюю часть среднего значения, функция возвращает наивысшее значение ранга.
Другие значения также могут быть установлены в 1 (самый низкий ранг), 2 (средний ранг), 3 (самый высокий ранг во всех строках) и 4 (для самого низкого ранга в первой строке, затем один ранг увеличивается для каждого нового значения).
Fmt устанавливает текстовое представление ранга, возвращаемого функцией. Для этого параметра можно установить несколько значений, например, 0, значение по умолчанию, обозначающее диапазон от низкого до высокого значения, 1 для низкого значения во всех строках и 2 для низкого значения в первой строке, затем пусто во всех остальных.
Префикс или квалификатор TOTAL, если он используется, оценивает все столбцы или измерения таблицы и включает в оценку только те значения, которые совпадают со значением, которое он оценивает в текущей строке.
Например, если у нас есть значения продаж разных клиентов, мы можем ранжировать их на основе их эффективности (общий объем продаж выполнен).
Customer |
Year |
Sales |
Hrank(Sales) |
Benedict |
2017 |
$28,000 |
3 |
Ethan |
2017 |
$20,000 |
4 |
Joshua |
2017 |
$36,000 |
2 |
Mathew |
2017 |
$45,000 |
1 |
Benedict |
2018 |
$26,000 |
4 |
Ethan |
2018 |
$29,000 |
3 |
Joshua |
2018 |
$32,000 |
2 |
Mathew |
2018 |
$35,000 |
1 |
Мы создали четыре имени клиентов в вертикальном порядке (как в кросс-таблице), но в сводной таблице все четыре были частью одной строки, расположенной горизонтально.
3. Заключение
Здесь мы рассмотрели все функции ранжирования Qlik Sense. Итак, это – самые важные функции ранжирования, используемые в Qlik Sense для ранжирования значений в строках или столбцах. Вы можете регулировать, как будут работать функции, определяя параметры в функциях. Эти функции используются только в выражениях диаграммы, но не в скрипте загрузки данных.