【问题标题】:Qlikview - Peek() function in FOR loop not working [closed]Qlikview - FOR循环中的Peek()函数不起作用[关闭]
【发布时间】:2014-07-23 12:47:30
【问题描述】:

我有这样的表:

     TABLE:
        LOAD * INLINE [
            SERVER
            'SERVERNAME1'
            'SERVERNAME2'
            ...
        ];

和循环:

FOR i = 1 to NoOfRows('TABLE')  

    LET v_TABLE = Peek('SERVER', $(i), 'TABLE');
    LET v_SPECIFICATION = FieldName(1, $(v_TABLE));

    trace $(v_TABLE);


    ...
    STATEMENTS
    ... 

NEXT

如果我重新加载它,什么也不会发生,尽管循环运行数千次,因为 Peek() 函数的结果始终为 NULL,而不是表中的值。是语法不正确,还是有其他错误?

【问题讨论】:

  • 这对我来说似乎工作正常,我的跟踪显示 SERVERNAME1...SERVERNAME2 等。我建议您将表称为 TABLE 以外的其他名称,因为这是保留字。

标签: qlikview peek


【解决方案1】:

对不起,我的问题是错误的。在 Peek() 函数中,第三个参数不是字符串,而是一个变量(我不知道这会是错误的),经过多次尝试,我发现了两件事:

  • 在我的 QV 版本 11.20 中,我必须调用带有可变参数的函数,例如v_SPECIFICATION,不是 $(v_SPECIFICATION)(但不是变量 $(i),为什么???)
  • 并且表格中的行从零开始编号(有时也是如此),所以这对我有用:

LET v_TABLE = Peek('SERVER', $(i) - 1, v_SPECIFICATION);

这对我来说真的很奇怪,但是边做边学......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多