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

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

Примечание к подсказкеПри редактировании листа можно также работать с переменными Qlik Sense с помощью окна обзора переменных. [Использование переменных в выражениях](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)



## Обзор

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

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

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

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

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)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. Это помогает быстро распознавать переменные и отличать их от мер, полей и функций.

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

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

Для получения дополнительной информации см. [Удаление переменной](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Variables/delete-variable-using-dialog.htm).

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

Для загрузки значения переменной в качестве значения поля в оператор 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) |
| --- | --- | --- |
| A | 350 | 1560 |
| B | 470 | 1560 |
| C | 740 | 1560 |

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

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

* [Ошибка переменных](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ErrorVariables/ErrorVariables.htm)
* [Переменные интерпретации числа](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/number-interpretation-variables.htm)
* [Системные переменные](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/system-variables.htm)
* [Переменные обработки значений](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/value-handling-variables.htm)

## Подробнее

* [Расширения со знаком доллара](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansions.htm)
* [Использование переменных в выражениях](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)