# 脚本变量

QlikView 中的变量是存储静态值或计算（例如数字或字母数字值）的容器。在文档中使用此变量时，对此变量做出的任何更改将应用于使用此变量的任何位置。 变量可以使用脚本编辑器在脚本中定义，其中变量从 Let、Set 或加载脚本的其他控制语句获取其值。

如果变量值的第一个字符为等于符号“=”，QlikView 将尝试以公式（QlikView 表达式）评估该值，然后显示或返回结果而不是实际公式文本。

使用时，此变量用其值取代。脚本中的变量可用于美元符号扩展脚本和各种控制语句。如果同一字符串（如路径）在脚本中重复多次，则其将非常有用。

部分特别的系统变量将由 QlikView 在开始执行脚本时设置，不管之前为何值。

定义变量的语法为：

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptVariables.htm)[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptVariables.htm)set variablename = string

或

let variable = expression

。Set 命令用于将文本赋值给变量等号的右边，而 Let 命令用于对表达式进行求值。

变量区分大小写。

示例：

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptVariables.htm)`set   HidePrefix = $ ; //`，此变量将字符 ‘$’ 作为值。

`let   vToday = Num(Today()); //` 用于返回当天的日期序列号。

## 变量计算

可以通过多种方法在 QlikView 中使用变量计算值，结果取决于定义变量以及在表达式中调用变量的方式。

在本例中，我们加载一些内联数据：

```
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) 作为度量表达式之间的区别如此图表显示的结果所示：

Example results

| Dim | $(vSales) | $(vSales2) |
| --- | --- | --- |
| A | 350 | 1560 |
| B | 470 | 1560 |
| C | 740 | 1560 |

如图表所示，$(vSales) 生成维度值的部分和，而 $(vSales2) 却生成总和。

## 了解详情

* [货币符号扩展](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/dollar-sign-expansions.htm)