【问题标题】:Syntax issue with Qlikview STORE INTO qvdQlikview STORE INTO qvd 的语法问题
【发布时间】:2016-02-26 20:58:16
【问题描述】:

我一直无法将数据存储到 QVD 文件中。我一直在使用的语法在其他应用程序中运行良好,但由于某种原因,我无法让它在我试图完成的应用程序中运行。

我已经成功开发了一个数据模型,现在需要逐年循环,减少特定年份的数据,然后将其保存到单独的 QVD 文件中。

代码如下:

FOR i = $(vL.MinFY) TO $(vL.MaxFY)
  LET _table = 'T_FACT_$(i)_GL_BALANCES';

  [$(_table)]:
  LOAD
    *
  RESIDENT [FINAL BALANCES]
  WHERE LEFT([Year-Period],4) = $(i) 
  ;

  IF NoOfRows('$(_table)') > 0 THEN
    STORE $(_table) INTO [$(vG.TransformQVDPath)$(_table).QVD];
  END IF 

  LET vRowCount_$(i) = NoOfRows('$(_table)');
  DROP TABLE [$(_table)];
NEXT

脚本在DROP TABLE 语句上打嗝,并且没有任何内容保存到 QVD。我尝试了美元符号扩展的各种组合,有无引号、括号等。

希望有人可以帮助我确定我缺少什么。

【问题讨论】:

    标签: qlikview


    【解决方案1】:

    DOH!想通了。

    LOAD 语句需要NOCONCATENATE,否则表的每次迭代都简单地与源表连接。加载部分的更新脚本是:

      [$(_table)]:
      NOCONCATENATE LOAD
        *
      RESIDENT [FINAL BALANCES]
      WHERE LEFT([Year-Period],4) = $(i) 
      ;
    

    完成之后,一切都按预期进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多