在计算之前变量不会展开
Last updated: 2026/7/29您的变量在开头可能缺少 = 号。
提议的操作取决于您使用变量的地方和方式。
场景 1: 变量正在被使用于 Qlik NPrinting Designer
Qlik NPrinting、Qlik Sense 和 QlikView 在不不使用货币符号扩展时,对待变量的方式相同。因此,如果您需要使用变量的计算的结果,则在变量定义的开头必须有 = 符号。如果Scenario 2案例中没有出现该变量,您可以相应地修改其定义。这适用于:
- 动态命名
- 条件
- 电子邮件中的变量
- Qlik NPrinting Designer变量
场景 2:变量在货币符号扩展中使用于 Qlik Sense 或 QlikView
货币符号扩展通过将变量的评估值按原样插入,代替完整的货币符号扩展来发挥作用。变量的值是插入到定义中的解释后的字符串。可能是:
- 文本字符串
- 一个数字(如果文本与数字格式兼容)
- 日期 (如果它是日期)
- 表达式的计算结果(如果其以 = 开头)。
这意味着,插入到变量定义中但不是以等号开头的表达式,实际上是文本。
如果变量在 Qlik Sense 或 QlikView 中的货币符号扩展中使用,则无法更改其定义。这将改变货币符号扩展的工作方式:它将插入评估后的值而不是文本。在这种情况下,您必须用相同公式(但名称不同)创建第二个一致的变量。使用这个新变量,就像在场景1中一样。
例如:
- VarApp1:其中 sum(sales) 是变量定义。这是初始变量,保持不变。
- VarApp1b:其中 =sum(sales) 是变量定义。这个新变量可以在 Qlik NPrinting 中使用,适用于场景1中描述的情况。
如果您不想定义新的变量,但您需要在Qlik NPrinting Designer中使用它,您可以使用公式来展开该变量,就像您在Qlik Sense或QlikView中所做的那样。例如 =$(VarApp1)。
场景 3:变量应用了条件
如果您向变量应用了条件,并且变量不计算,问题可能出在条件上。将变量添加到不带条件的报表,并运行发布任务。
在生成的报表中,您将看到正在提取什么值。您可以快速验证变量是否解析为字符串,或者是否正在实际计算某个值。