在计算之前变量不会展开
可能的原因
您的变量在开头可能缺少 = 号。
建议的操作
提议的操作取决于您使用变量的地方和方式。
场景 1:正在 Qlik NPrinting Designer 中使用变量
Qlik NPrinting、Qlik Sense 和 QlikView 以和不使用美元号扩展时相同的方式处理变量。因此,如果您需要使用变量的计算的结果,则在变量定义的开头必须有 = 符号。如果在场景 2 的情况下没有出现变量,则可相应修改其定义。这对以下项有效:
- 动态命名
- 条件
- 电子邮件中的变量
- Qlik NPrinting Designer 变量
场景 2:变量用在 Qlik Sense 或 QlikView 中的美元号扩展内
美元号通过将变量的计算值原样插入完整美元号扩展的位置来发挥作用。变量的值为插入定义的解释的字符串。其可为:
- 文本字符串
- 数字(如果文本与数字格式兼容)
- 日期(如果其为日期)
- 表达式的计算结果(如果其以 = 开头)。
这意味着在未以等号开头的变量定义中插入的扩展实际为文本。
如果变量用在 Qlik Sense 或 QlikView 中的美元号扩展内,则您无法更改其定义。这将改变美元号扩展作用的方式:其将把计算的插入以替代文本。在该情况下,您必须用相同公式(但名称不同)创建第二个一致的变量。和您在场景 1 中一样使用新变量。
例如:
- VarApp1:其中 sum(sales) 是变量定义。这是初始变量,保持不变。
- VarApp1b:其中 =sum(sales) 是变量定义。在场景 1 中描述的情况下,该新变量可用在 Qlik NPrinting 中。
如果您不希望定义新变量,但是需要在 Qlik NPrinting Designer 中使用它,可使用公式如您在 Qlik Sense 或 QlikView 中那样扩展变量。例如 =$(VarApp1)。
场景 3:变量具有应用至它的条件。
如果您将条件应用至变量,并且变量不计算,问题可能在于条件。没有条件地将变量添加至报表,并运行发布任务。
在生成的报表中,您将看到在提取的值是什么。您可迅速地验证,变量是否解析为字符串,或者是否实际计算值。