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

时间:2017-03-14 16:21:14

标签: function qlikview dollar-sign

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

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

经过一些研究后我发现我必须用chr() - 函数替换$ SET vMonthCounter = "SUM({<MONTH = {'" & chr(36)& "(vCurrentMonth)'}>} Counter)";
但是这个chr() - 函数返回一个字符串,所以我不会收到我的Counter的总和,但是设置Expression的字符串($ 03)。 我究竟做错了什么?任何人都可以解释如何在脚本中使用这个函数吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

即使不使用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)