在表达式中使用变量的示例

Qlik Sense 中的变量是一个已命名实体,包含一个数据值。当在表达式中使用变量时,它将会被其值或变量的定义所取代。

Example:  

变量 x 包含文本字符串 Sum(Sales)

您可在图表中定义表达式 $(x)/12。效果与拥有图表表达式 Sum(Sales)/12 完全相同。

但是,如果您将变量值(举例)从 x 更改至 Sum(Budget),图表中的数据将立即使用 Sum(Budget)/12 表达式重新计算。

提示: 在表达式中使用变量时,只需编辑变量即可同时更改图表范围中使用的表达式。

如何解释名称

建议不对 Qlik Sense 中的字段和函数将变量命名为相同的名称。 但如果您这样执行,则必须知道如何在表达式中使用它们。

Example:  

XXX 可以是字段、变量和函数。XXX 可以解释为其中之一,具体取决于您创建表达式的方式。

如何解释名称的示例
表达式 XXX 可以解释为
$(XXX) 变量
Count(XXX) 字段
XXX() 函数

变量计算

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

此例需要以下数据加载到数据加载编辑器中:

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

 

我们来从变量概述定义两个变量:

  • 名称 vSales 定义'Sum(Sales)'
  • 名称 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) 却生成总和。