Перейти к основному содержимому Перейти к дополнительному содержимому

Работа с переменными в редакторе загрузки данных

Переменная в Qlik Sense является контейнером, содержащим статическое значение или вычисление, например числовое или буквенно-числовое значение. При использовании этой переменной в приложении любое изменение, выполненное в переменной, применяется везде, где эта переменная используется. Переменные можно определить в окне обзора переменных или в скрипте с помощью редактора загрузки данных. Для установки значения переменной можно использовать операторы Let или Set в скрипте загрузки данных.

Примечание к подсказкеПри редактировании листа можно также работать с переменными Qlik Sense с помощью окна обзора переменных. Использование переменных в выражениях

Обзор

Если первый символ в значении переменной — это знак равенства «=», то программа Qlik Sense рассчитывает значение по формуле (выражение Qlik Sense) и выводит или возвращает результат, а не визуальное написание формулы.

При использовании вместо переменной подставляется ее значение. Переменные можно использовать в скрипте для расширения со знаком доллара и в различных операторах управления. Это очень удобно, если одна и та же строка повторяется в скрипте множество раз, например путь.

В начале выполнения скрипта программа Qlik Sense устанавливает некоторые особые системные переменные независимо от их предыдущих значений.

Определение переменной

Переменные дают возможность хранить статические значения или результат вычислений. При определении переменной используйте следующий синтаксис:

set variablename = string

или

let variable = expression

Оператор Set используется для присвоения строки. Он присваивает переменной текст справа от знака равенства. Оператор Let оценивает выражение справа от знака равенства во время выполнения скрипта и присваивает результат выражения переменной.

Переменные чувствительны к регистру.

Примечание к информацииНе рекомендуется использовать одинаковые имена для переменной и поля или функции в Qlik Sense.

Примеры:  

set x = 3 + 4; // переменная получит в качестве значения строку '3 + 4'.

let x = 3 + 4; // возвращает 7 в качестве значения.

set x = Today(); // возвращает 'Today()' в качестве значения.

let x = Today(); // возвращает в качестве значения сегодняшнюю дату, например ‘9/27/2021’.

Именование переменных

Рекомендуется использовать стандартные правила именования для переменных, создаваемых в приложении. Например, правило может требовать, чтобы все имена переменных начинались с v. Пример: vUserText. Это помогает быстро распознавать переменные и отличать их от мер, полей и функций.

Дополнительные параметры при определении переменных

В этом разделе перечислены дополнительные функциональные возможности, которые можно использовать для расширения возможностей переменных, определяемых вами в Скрипте загрузки.

Ограничение значений переменных

Можно использовать операторы Constrain для ограничения переменных скрипта конкретными определениями, предотвращая загрузку нежелательных значений. Операторы Constrain можно использовать для обеспечения качества, улучшения совместной работы при совместной разработке скриптов и повышения безопасности для аналитических приложений. В Qlik Cloud, Constrain операторы также могут использоваться в сочетании с API разработчика для динамических обновлений переменных во время перезагрузки.

Для получения дополнительной информации см. раздел Constrain.

Определение переменных только для скрипта

Можно использовать системную переменную ScriptOnlyVariables для установки переменных только для скрипта. Переменная только для скрипта доступна только в Скрипте загрузки и не отображается, например, в виде листа в приложении.

Для получения дополнительной информации см. раздел ScriptOnlyVariables.

Удаление переменных

Вы можете использовать оператор Drop variable, чтобы удалить переменные в скрипте. Удаление переменной полезно, когда вы хотите использовать переменную только для выполнения расчетов или определения полей в контексте модели данных.

Для получения дополнительной информации см. раздел Drop variable.

Удаление переменной

Если удалить переменную из скрипта и перезагрузить данные, переменная будет существовать в приложении. Чтобы полностью удалить переменную из приложения, можно выполнить любое из следующих действий:

  • Удалите переменную из диалогового окна переменных.

  • Удалите переменную в скрипте с помощью оператора Drop variable.

  • Установите переменные, которые не нужны в диалоговом окне переменных, как переменные только для скрипта, используя системную переменную ScriptOnlyVariables в скрипте.

Для получения дополнительной информации см. раздел Удаление переменной.

Загрузка значения переменной в качестве значения поля

Для загрузки значения переменной в качестве значения поля в оператор LOAD и получения расширения со знаком доллара в виде текста, а не числового значения или выражения, необходимо заключить развернутую переменную в одинарные кавычки.

Пример:  

В этом примере выполняется загрузка системной переменной, содержащей список ошибок скрипта в таблице. Обратите внимание, что расширение ScriptErrorCount в предложении If не требует кавычек, в то время, как расширение ScriptErrorList необходимо заключить в кавычки.

IF $(ScriptErrorCount) >= 1 THEN LOAD '$(ScriptErrorList)' AS Error AutoGenerate 1; END IF

Вычисление переменной

Существует несколько способов использования переменных с вычисляемыми значениями в программе Qlik Sense. Результат зависит от того, как это будет определено и названо в выражении.

В этом примере загружаются некоторые встроенные данные:

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

Давайте определим две переменные.

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=Sum(Sales)' ;

Во второй переменной мы добавляем знак равенства перед выражением. В результате переменная будет вычислена до того, как она будет расширена, а выражение оценено.

При использовании неизмененной переменной vSales, например, в мере, результатом будет строка Sum(Sales), то есть вычисления не будут выполнены.

В случае добавления расширения со знаком доллара и вызова элемента $(vSales) в выражении переменная будет расширена, а сумма Sales отобразится.

Наконец, если будет вызван элемент $(vSales2), вычисление переменной будет выполнено до ее расширения. Это означает, что отображаемый результат — это итоговая сумма элементов Sales. Разницу использования элементов =$(vSales) и =$(vSales2) в качестве выражений мер можно увидеть в этой диаграмме с отображением результатов:

Результаты
Dim$(vSales)$(vSales2)
A3501560
B4701560
C7401560

Как можно увидеть, элемент $(vSales) показывает частичную сумму для значения измерения, а элемент $(vSales2) показывает итоговую сумму.

Доступны следующие переменные скрипта:

Подробнее

 

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!