Переменные скрипта
Переменная в QlikView является контейнером, содержащим статическое значение или вычисление, например числовое или буквенно-числовое значение. При использовании этой переменной в документе любое изменение, выполненное в переменной, применяется везде, где эта переменная используется. Переменные определяются в скрипте с помощью редактора скриптов, переменная получает свое значение от операторов управления Let, Set или других операторов управления в скрипте загрузки.
Если первый символ в значении переменной — это знак равенства «=», то программа QlikView рассчитывает значение по формуле (выражение QlikView) и выводит или возвращает результат, а не визуальное написание формулы.
При использовании вместо переменной подставляется его значение. Переменные можно использовать в скрипте для расширения со знаком доллара и в различных операторах управления. Это очень удобно, если одна и та же строка повторяется в скрипте множество раз, например путь.
В начале выполнения скрипта программа QlikView устанавливает некоторые особые системные переменные независимо от их предыдущих значений.
Ниже представлен синтаксис для определения переменной:
или
let variable = expression
используется. Команда Set присваивает текст справа от знака равенства переменной, в то время как команда Let вычисляет выражение.
В переменных учитывается регистр.
Примеры:
set HidePrefix = $ ; //, в переменной символ «$» будет получен как значение.
let vToday = Num(Today()); // возвращает серийный номер сегодняшней даты.
Вычисление переменной
Существует несколько способов использования переменных с вычисляемыми значениями в программе QlikView. Результат зависит от того, как это будет определено и названо в выражении.
В этом примере загружаются некоторые встроенные данные:
Давайте определим две переменные.
Во второй переменной мы добавляем знак равенства перед выражением. В результате переменная будет вычислена до того, как она будет расширена, а выражение оценено.
При использовании неизмененной переменной vSales, например, в мере, результатом будет строка Sum(Sales), то есть вычисления не будут выполнены.
В случае добавления расширения со знаком доллара и вызова элемента $(vSales) в выражении переменная будет расширена, а сумма Sales отобразится.
Наконец, если будет вызван элемент $(vSales2), вычисление переменной будет выполнено до ее расширения. Это означает, что отображаемый результат — это итоговая сумма элементов Sales. Разницу использования элементов =$(vSales) и =$(vSales2) в качестве выражений мер можно увидеть в этой диаграмме с отображением результатов:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Как можно увидеть, элемент $(vSales) показывает частичную сумму для значения измерения, а элемент $(vSales2) показывает итоговую сумму.