变量
Qlik Sense 和 QlikView 变量可用于自定义 Qlik NPrinting 报表和电子邮件。
Qlik Sense 或 QlikView 中的变量为静态值,该值可为:
- 文本字符串
- 数字
- 日期
- 表达式的评估结果
表达式由开头的等号 = 标识。当您在应用程序或文档中使用变量时,对变量进行的更改会在使用变量的每个地方应用。
变量可包含复杂的表达式、用户信息或公司详细信息。例如,您可使用变量来计算各地区的每周销售额。您可使用变量替代可能在未来更改的产品名。用户名变量可用于个性化公司电子邮件。这些类型的变量让您的报告更加一致,并且更便于维护。
您还可以使用变量创建电子邮件通讯组列表。
Qlik NPrinting 中使用的变量的最佳实践
Qlik Sense 和 QlikView 中的变量通常结合美元符号扩展使用。当您想要用占位符等变量来替代真正的变量时,您应该使用此扩展。变量美元符号扩展通过将其 "文本" 替换为变量的静态值发挥作用。
例如,您在 Qlik Sense 或 QlikView 中具有这两个变量:
- vSales 定义为:Sum(Sales)
- vSales2 定义为:=Sum(Sales)
类似 =$(vSales) 的表达式可在 Qlik Sense 图表中用作度量或在 QlikView 图表中用作表达式。当 Qlik 引擎计算该表达式时,其将把美元符号扩展 $(vSales) 的内容替代为 vSales 的静态值。vSales 的静态值为 Sum(Sales)。因此计算的最终表达式将为 =Sum(Sales)。
假设总计 Sum(Sales) 为 1560。如果您写下类似 =$(vSales2) 的表达式,Qlik 引擎将和以前一样计算它,并且将美元符号扩展 $(vSales2) 的内容替代为 vSales2 的静态值。vSales2 的静态值为 1560,因为其被定义为表达式。因此计算的最终表达式将为 1560。
这意味着如果没有美元符号扩展,则 vSales 为包含 Sum(Sales) 的文本的变量。
如果您将这些表达式作为 Qlik Sense 图表中的两个不同度量或 QlikView 中的表达式插入,将看到以下结果:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
如您所见,=$(vSales) 得到维度值的部分和,而 =$(vSales2) 得到总和。
Qlik NPrinting 将总是考虑变量的静态值,永远不考虑其美元符号扩展。如果您希望评估变量中没有以 = 号开头的表达式,则必须在 QlikView 或 Qlik Sense 中更改其定义。如果您无法进行该操作,则必须创建可定义为初始变量的美元符号扩展的第二个变量:vSales3 定义为 =$(vSales)。如果您在使用 Qlik NPrinting Designer,则不必创建另一个变量。取而代之的是,您可使用公式来展开初始变量。
错误处理
管理员可设置如果未解析电子邮件中的变量会发生什么。
进行以下操作:
- 在主菜单中,转到管理员 > 设置。
- 单击任务按钮。
- 在电子邮件分配错误下,转到当发布任务无法解析变量标签时。从以下选项中进行选择:
- 发送带有原样标签的电子邮件
- 发送删除了标签的电子邮件
- 请勿发送电子邮件
- 单击更新。
了解详情
- 在计算之前变量不会展开
- 通过电子邮件分发报表
- 在表达式中使用变量的示例 (Qlik Sense)
- 脚本变量 (QlikView)