变量

Qlik SenseQlikView 变量可用于自定义 Qlik NPrinting 报表和电子邮件。

Qlik SenseQlikView 中的变量为静态值,该值可为:

  • 文本字符串
  • 数字
  • 日期
  • 表达式的评估结果

表达式由开头的等号 = 标识。当您在应用程序或文档中使用变量时,对变量进行的更改会在使用变量的每个地方应用。

变量可包含复杂的表达式、用户信息或公司详细信息。例如,您可使用变量来计算各地区的每周销售额。您可使用变量替代可能在未来更改的产品名。用户名变量可用于个性化公司电子邮件。这些类型的变量让您的报告更加一致,并且更便于维护。

Qlik NPrinting 中使用的变量的最佳实践

Qlik SenseQlikView 中的变量通常结合美元符号扩展使用。当您想要用占位符等变量来替代真正的变量时,您应该使用此扩展。变量美元符号扩展通过将其 "文本" 替换为变量的静态值发挥作用。

例如,您在 Qlik SenseQlikView 中具有这两个变量:

  • 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 将总是考虑变量的静态值,永远不考虑其美元符号扩展。如果您希望评估变量中没有以 = 号开头的表达式,则必须在 QlikViewQlik Sense 中更改其定义。如果您无法进行该操作,则必须创建可定义为初始变量的美元符号扩展的第二个变量:vSales3 定义为 =$(vSales)。如果您在使用 Qlik NPrinting Designer,则不必创建另一个变量。取而代之的是,您可使用公式来展开初始变量。