qlikview 使用 chr() 函数设置表达式

qlikview set expression with chr()-function

我正在我的 qlikview 应用程序的脚本中设置一些变量。后来我尝试重用以前的变量之一,但 qlikview 给我一个错误。

SET vCurrentMonth = "=CAL.MONTH";
SET vMonthCounter = "SUM({<MONTH = {'$(vCurrentMonth)'}>} Counter)";
我试图使用脚本中不存在的普通集合表达式中已知的 $-expansion。但是后来我没有收到任何数据。

经过一些研究,我发现我必须用 chr() 函数替换 $。
SET vMonthCounter = "SUM({<MONTH = {'" & chr(36)& "(vCurrentMonth)'}>} Counter)";
但是这个 chr() 函数正在返回一个字符串,所以我没有收到我的计数器的总和,而是集表达式 ($03) 的字符串。 我究竟做错了什么?谁能解释一下如何在脚本中使用这个函数?

提前致谢

即使不使用 chr() 功能,它对我来说也能正常工作。我在 sum 之前添加了 =(我为 vCurrentMonth 使用了简单的字符串并删除了那里的 =):

SET vMonthCounter = "=SUM({<MONTH = {'$(vCurrentMonth)'}>} Counter)";

然后使用文本框中的变量(如下所示)给出了正确的结果:

= vMonthCounter

如果您仍然喜欢 chr() 方法,则需要对 vMonthCounter 进行一些更改才能获得相同的结果:

let vMonthCounter1 = '=SUM({ <category = {' & chr(39) & chr(36) & '(vCurrentMonth)' & chr(39) & '} >} value)';

  • set 替换为 letlet 计算表达式,实际上 运行 并将 chr() 替换为符号(顺便说一句,当使用 set 时,您没有义务将字符串括在任何引号中)

  • 将开始和结束引号替换为单引号

  • 集合表达式中的单引号替换为chr(39)