Выражения визуализации Qlik Sense – агрегирование и модификаторы
1. Цель
В этом разделе мы поговорим о выражениях визуализации Qlik Sense. Также мы увидим, как использовать выражения визуализации в Qlik Sense. Выражения визуализации похожи на выражения графиков, которые мы изучали в курсе QlikView.
Итак, давайте рассмотрим выражения визуализации Qlik Sense.
Выражения визуализации Qlik Sense – агрегирование и модификаторы
2. Что такое выражения визуализации в Qlik Sense?
Выражение, используемое на любом языке программирования, похоже на инструкцию, которая инструктирует машину о том, как обрабатывать данные. Аналогичным образом, в Qlik Sense выражения визуализации представляют собой инструкции, которые при применении к определенным полям данных обрабатывают значения полей указанным способом и отображают результат в визуализации. Выражение визуализации состоит из имен полей, математических или логических функций и операторов (* / + -). Выражения могут создаваться для применения как к статическим, так и к динамическим полям. Обычно логические и математические функции используются только для показателей (числовые и вычисляемые поля), но выражения визуализации применимы и к измерениям (статические текстовые поля, такие как заголовок таблицы, заголовок поля и т. д.). Если сделать размеры динамическими с помощью выражений визуализации, такие значения будут изменяться в соответствии с выборками, сделанными в визуализации или любом связанном объекте листа.
i. Синтаксис выражений визуализации Qlik Sense
Давайте перейдем к изучению общего синтаксиса выражения визуализации. Синтаксис создан с использованием концепций и правил формализма Бэкуса-Наура. Обычно используемые типы синтаксиса визуализационных выражений перечислены ниже.
expression ::= (constant | expressionname | operator1 expression | expression operator2 expression | function | aggregation function |(expression))
- Это можно описать как: выражение можно определить, как строку-константу, которая содержит текст или числа. Текст заключен в одинарные кавычки.
- Имя выражения – это имя или метка уже существующего выражения в той же визуализации.
- Оператор1 обозначает унарный оператор, который применяется только к значениям справа.
- Оператор2 – это бинарный оператор, который применяется к значениям с обеих сторон оператора.
- Функция применяется в соответствии с синтаксисом:
function ::= functionname ( parameters ) prameters ::= expression { ,expression }
- Также можно определить функции агрегирования
aggregationfunction ::= aggregationfunctionname ( parameters2 ) parameters2 ::= aggrexpression { , aggrexpression }
3. Функции агрегирования в Qlik Sense
Агрегация - важная функция для использования в любом инструменте бизнес-аналитики, поскольку она охватывает данные, которые оцениваются в целом/агрегированном виде, и соответственно возвращает результат. Это очень полезно, потому что обычно компании используют данные в большом количестве, а применение функций к отдельным полям и значениям может быть практически невыполнимой задачей. Наиболее часто используемые агрегатные функции – это Sum, Average, Min, Max и т. д.
i. Определение объема агрегирования
Каждый раз, когда к набору данных применяется агрегирование, необходимо определять объем этого агрегирования. Под объемом здесь подразумевается то, какие значения данных или записи являются релевантными. Агрегация применяется только к релевантным данным, поэтому необходимо определить этот объем. Объем определяется на основе двух факторов: один – это выбор, а второй – размерные значения. После того, как эти два фактора будут учтены и применены, после их ограничения остаются только релевантные значения данных для агрегирования.
Во время определения объема агрегирования Qlik Sense, т.е. установки предела, чтобы система принимала только релевантные данные, выбор делается двуми методами; Общий квалификатор и/или анализ набора. Можно также сказать, что с помощью этих методов можно заново определить объем агрегации. Эти методы используются для игнорирования нерелевантных записей данных, так что функция агрегирования может применяться только к релевантным значениям. Ключевые слова метода записываются в ключевое слово функции агрегирования.
В списке ниже подробно описаны эти методы.
- Квалификатор TOTAL – использование квалификатора total внутри выражения или функции агрегирования не учитывает размерные значения. Агрегирование выполняется для всех возможных значений полей, и расчет производится без учета всех переменных измерения визуализации, кроме перечисленных. Поля, которые в настоящее время не являются измерением в визуализации, также можно включить в список. Это будет удобно в случае групповых измерений, где поля измерений не фиксированы.
- Анализ множеств – использование анализа множеств внутри выражения агрегирования отменяет выбор, и агрегирование будет выполняться для всех значений, разделенных по измерениям.
- Квалификатор TOTAL и анализ множеств – использование квалификатора TOTAL и анализа множеств внутри выражения агрегирования отменяет или игнорирует выбор и игнорирует измерения.
- Квалификатор ALL – использование квалификатора ALL внутри выражения агрегирования игнорирует выделение и измерения. То же самое можно сделать с помощью оператора анализа множества {1} и квалификатора TOTAL:
=sum(A11 Sales) =sum({1} Total Sales)
Давайте разберемся с этими методами на примере. В качестве примера использовались образцы данных.
AggregationScope: LOAD * inline Year Quarter Amount 2017 Q1 1100 2017 Q2 1700 2017 Q3 1400 2017 Q4 1800 2018 Q1 1000 2018 Q2 1300 2018 Q3 1100 2018 Q4 1400] (delimiter is ‘ ‘);
Мы увидим, как методы анализа Total Qualifier и анализ множества работают при ограничении нерелевантных значений данных для агрегирования. Эти два метода можно использовать по отдельности или в сочетании.
- Квалификатор Total используется в функции агрегирования, когда вы хотите, чтобы система игнорировала размерное значение, то есть значения данных, специфичные для поля «Квартал». Четвертый столбец или поле в приведенной ниже таблице использует квалификатор TOTAL в агрегатной функции Sum «Sum (TOTAL Amount)», которая отображает общую сумму всех значений в поле «Sum (Amount)». Значения из поля, в котором применен квалификатор Total, затем используются в выражении «Sum (Amount)/Sum (TOTAL Amount)», которое дает процентное отношение значений отдельных измерений к общей сумме.
Year |
Quarter |
Sum(Amount) |
Sum(TOTAL Amount) |
Sum(Amount)/Sum(TOTAL Amount) |
3000 |
3000 |
100% |
||
2017 |
Q2 |
1700 |
3000 |
56.7% |
2018 |
Q2 |
1300 |
3000 |
43.3% |
- Метод анализа набора используется, когда не следует учитывать некоторые выборки, сделанные в визуализации. Он отличается от квалификатора total, потому что он используется, когда мы не хотим принимать во внимание размерные значения. Тогда как в случае игнорирования выбора система игнорирует выбор, сделанный пользователем, и принимает все значения данных из поля.
Как это сделано в примере визуализации ниже. Анализ множества входит в функцию агрегирования суммы Sum ({1}Amount). В этом поле все значения, отсутствующие в столбце «Sum(Amount)» (поскольку выбран Q2), присутствуют в результате игнорирования выбора, сделанного в Q2. {1} в этом выражении обозначает определение набора и дает команду машине игнорировать выбор и учитывать все значения в записи.
Последнее выражение для расчета процента: «Sum (Amount)/Sum ({1} Amount)» дает в результате отношение значений в поле Sum (Amount), которое включает выборки, к значениям поля Sum ({1}Sum), где применяется анализ множеств.
Year |
Quarter |
Sum(Amount) |
Sum({1} Amount) |
Sum(Amount)/Sum({1}Amount) |
3000 |
10800 |
27.8% |
||
2017 |
Q1 |
0 |
1100 |
0% |
2017 |
Q3 |
0 |
1400 |
0% |
2017 |
Q4 |
0 |
1800 |
0% |
2017 |
Q2 |
1700 |
1700 |
100% |
2018 |
Q1 |
0 |
1000 |
0% |
2018 |
Q3 |
0 |
1100 |
0% |
2018 |
Q4 |
0 |
1400 |
0% |
2018 |
Q2 |
1300 |
1300 |
100% |
- Вы также можете использовать квалификатор TOTAL и анализ множеств вместе. Как видите, мы применили оба метода вместе в столбце «Sum ({1}TOTAL sum)». Это приведет к игнорированию как размерного значения, так и активного выбора, чтобы представить только соответствующие данные.
Year |
Quarter |
Sum(Amount) |
Sum({1}TOTAL Amount) |
Sum(Amount)/Sum({1}TOTAL Amount) |
3000 |
10800 |
27.8% |
||
2017 |
Q2 |
1700 |
10800 |
15.7% |
2018 |
Q2 |
1300 |
10800 |
12% |
Общий синтаксис агрегирования
Общий синтаксис, используемый при определении функции/выражения агрегирования:
Aggrexpression ::= ( fieldref | operator1 aggrexpression | aggrexpression operator2 aggrexpression | functioninaggr |(aggrexpression) )
Где fieldref – это имя поля, а functionaggr означает functionname (параметры2).
4. Анализ множества и выражения множеств
Анализ множества – очень полезная функция Qlik Sense, которая позволяет пользователям сравнивать наборы данных в документе. В анализе множеств вы можете выбрать набор значений данных (примененные или не примененные выборки) и сделать его статическим. Это означает, что конкретный набор данных, выбранный для анализа наборов, не будет связан с другими объектами листа и не изменится при любом сделанном выборе. Таким образом, он становится статическим. Хотя, прежде чем сделать набор данных визуализации статическим, должно быть выражение набора, примененное к значениям в наборе данных. Все значения будут оцениваться в соответствии с инструкциями выражения набора, и результат этого вычисления будет отображен в поле статического анализа набора.
Таким образом, выражение набора определяет набор значений поля, и когда эти определенные значения поля оцениваются в соответствии с выражением набора, это называется анализом набора. У нас есть отдельное руководство, в котором объясняется анализ множеств, которое вы можете проверить, чтобы лучше понять эту концепцию.
i. Синтаксис выражений набора
Синтаксис выражений набора представлен здесь в форме Бэкуса-Наура.
set_expression ::= {set_entity { set_operator set_entity }} set_entity ::= set_identifier [ set_modifier ] set_identifier ::= 1 | $ | $N | $_N | bookmark_id |bookmark_name set_operator ::= + | - | * | / set_modifier ::= < field_selection {, field_selection } > field_selection ::= field_name [ = | += | –= | *= | /= ] element_set_expression element_set_expression ::= element_set { set_operator element_set } element_set ::= [ field_name ] | { element_list } | element_function element_list ::= element { , element } element_function ::= ( P | E ) ( [ set_expression ] [ field_name ] ) element ::= field_value | " search_mask "
При написании выражения множества есть два синтаксических правила: выражение множества всегда должно быть функцией агрегирования (Sum, Max, Min, Count, Avg и т. д.). И второе правило: выражение множества должно быть заключено в изогнутые скобки {}. Например, выражение Sum({$<Year={2017}>} Sales), выражение {$<Year={2017}>} является выражением множества. Выражение множества состоит из трех частей; Идентификатор, оператор и модификатор.
5. Модификаторы множеств
Модификаторы множества используются тогда, когда вы хотите изменить существующее состояние выбора в множестве. Такие модификации в выражениях множеств можно записывать по-разному. При написании модификации в выражении множества имя поля дается в скобках <>, а выбор, который должен нужно сделать в этом поле, представляется в скобках {}. Например, Год = {2017,2018}, Регион = {США}> или <[Регион продаж] = {’Западное побережье’, ’Южная Америка’}>.
Модификаторы набора записываются по-разному, например, на основе значений другого поля, на основе наборов элементов или принудительного исключения.
Ну вот и все, что мы хотели рассказать о выражениях в визуализации Qlik Sense. Надеемся, вам понравилось наше объяснение.
6. Заключение
Итак, в этой главе мы рассмотрели выражения визуализации Qlik Sense. Мы узнали о том, как записываются выражения визуализации Qlik Sense. Также мы увидели, как определяется область агрегирования в Qlik Sense, что такое наборы выражений и как эти выражения изменяются. Изучение того, как использовать выражения визуализации в визуализации Qlik Sense, помогает пользователю правильно взаимодействовать и управлять полями и значениями данных.