Примеры использования переменной в выражении
Переменная в Qlik Sense представляет собой именованный элемент, содержащий значение данных. Если переменная используется в выражении, она замещается его значением или описанием переменной.
Пример:
Переменная x содержит текстовую строку Sum(Sales).
В диаграмме можно определить выражение $(x)/12. Результат такой же, как при наличии выражения диаграммы Sum(Sales)/12.
Однако, если изменить значение переменной x, например, на значение Sum(Budget), данные диаграммы будут немедленно пересчитаны с выражением, интерпретированным как Sum(Budget)/12.
Интерпретация имен
Не рекомендуется использовать одинаковые имена для переменной и поля или функции в Qlik Sense. Но при выполнении этого действия необходимо знать о порядке их использования в выражении.
Пример:
Строка XXX представляет поле, переменную, функцию или меру. XXX будет интерпретироваться как одна из них, в зависимости от способа создания выражения.
Выражение | XXX интерпретируется как |
---|---|
XXX | мера, переменная или поле |
$(XXX) | переменная |
Count(XXX) | поле или переменная |
XXX() | функция |
Присваивая имя сущности, старайтесь не использовать одно и то же имя для нескольких полей, переменных или мер. Существует строгий порядок очередности при разрешении конфликтов между сущностями с идентичными именами. Этот порядок отражается во всех объектах и контекстах, в которых используются такие сущности. Этот порядок приоритета выглядит следующим образом:
-
Внутри агрегирования у поля есть приоритет над переменной. Метки мер не являются релевантными в агрегированиях и не приоритизируются.
-
Вне агрегирования у метки меры есть приоритет над переменной, у которой в свою очередь есть приоритет над полем.
-
Кроме того, вне агрегирования меру можно использовать повторно путем ссылки на его метку, если метка по сути не является вычисляемой. В такой ситуации мера теряет часть значимости, чтобы сократить риск создания самоссылки, и в данном случае имя всегда будет интерпретироваться, во-первых, как метка меры, во-вторых, как имя поля и, в-третьих, как имя переменной.
Вычисление переменной
Существует несколько способов использования переменных с вычисляемыми значениями в программе Qlik Sense. Результат зависит от того, как это будет определено и названо в выражении.
Для этого примера необходимо, чтобы в редактор загрузки данных были помещены следующие данные.
Давайте определим следующие две переменные в диалоговом окне «Переменные».
- Имя vSales Определение'Sum(Sales)'
- Имя vSales2 Определение'=Sum(Sales)'
Во второй переменной мы добавляем знак равенства перед выражением. В результате переменная будет вычислена до того, как она будет расширена, а выражение оценено.
При использовании неизмененной переменной vSales, например, в мере, результатом будет строка Sum(Sales), то есть вычисления не будут выполнены.
В случае добавления расширения со знаком доллара и вызова элемента $(vSales) в выражении переменная будет расширена, а сумма Sales отобразится.
Наконец, если будет вызван элемент $(vSales2), вычисление переменной будет выполнено до ее расширения. Это означает, что отображаемый результат — это итоговая сумма элементов Sales. Разницу использования элементов =$(vSales) и =$(vSales2) в качестве выражений мер можно увидеть в этой диаграмме с отображением результатов:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Как можно увидеть, элемент $(vSales) показывает частичную сумму для значения измерения, а элемент $(vSales2) показывает итоговую сумму.