我始终无法将数据存储到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。我尝试了各种美元符号扩展的组合,有和没有引号,括号等。
希望有人能帮助我确定我所缺少的东西。
答案 0 :(得分:1)
DOH!想出来了。
LOAD
语句需要NOCONCATENATE
,否则表的每次迭代都只是与源表连接在一起。加载部分的更新脚本是:
[$(_table)]:
NOCONCATENATE LOAD
*
RESIDENT [FINAL BALANCES]
WHERE LEFT([Year-Period],4) = $(i)
;
完成后,一切都按预期工作。