【问题标题】:qlikview set expression with chr()-functionqlikview 使用 chr() 函数设置表达式
【发布时间】:2017-03-14 16:21:14
【问题描述】:

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

SET vCurrentMonth = "=CAL.MONTH";
SET vMonthCounter = "SUM({<MONTH = {'$(vCurrentMonth)'}>} Counter)";
我试图使用从不在脚本中的正常集合表达式中已知的 $-expansion。但后来我没有收到任何数据。 经过一番研究,我发现我必须用 chr() 函数替换 $。
SET vMonthCounter = "SUM({<MONTH = {'" & chr(36)& "(vCurrentMonth)'}>} Counter)";
但是这个 chr() 函数返回一个字符串,所以我没有收到我的计数器的总和,而是设置表达式 ($03) 的字符串。 我究竟做错了什么?谁能解释如何在脚本中使用此功能?

提前致谢

【问题讨论】:

    标签: function qlikview dollar-sign


    【解决方案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)

    【讨论】:

    • 嗨斯特凡,你提到的第一次尝试对我不起作用,但第二次工作正常。你知道我是否可以在稍后出现在脚本中的 if 函数中使用这个变量吗?
    • 您无法在脚本中运行集合分析。此变量仅在 UI 中有意义。
    • 好的,我有一个正在运行的解决方案,非常感谢您的支持
    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多