QlikView:根据条件插入和更新(没有时间戳)

时间:2016-12-08 10:02:47

标签: qlikview

当我尝试将脚本编写为Insert and Update增量加载的一个版本时,我遇到了问题。

示例:为了简化示例,我举例说明了我希望数据集如何更新。 (我留下讨论的代码)

插图: Illustration of the Insert and Update

在上面的示例中,您可以看到我都希望插入新记录并更新记录。条件是我只想在新值大于现有记录时更新记录。

例如,ID 2的现有记录等于0(表1),并且由于ID 2的新记录等于100(表2),我想更新该记录,因此ID 2的最终更新记录等于它们中最高的两个(更新表)。如果表2包含新记录,我只想将该记录添加到最终数据集中。

说明

  1. 插入新记录
  2. 如果值高于现有记录,则更新记录
  3. 你们认为这种问题的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:1)

不确定这是最好的解决方案

//QVD
Table:
LOAD * INLINE [
ID, Value, Source
1, 500, 'QVD'
2, 0, 'QVD'
3, 100, 'QVD'
4, 300, 'QVD'
5, 0, 'QVD'
];

//ODBC
Concatenate(Table)
LOAD * INLINE [
ID, Value, Source
2, 100, ODBC
3, 700, ODBC
4, 300, ODBC
6, 500, ODBC
7, 0, ODBC
];

NewTable:
LOAD
    ID,
    max(Value) as Value
Resident Table
Group by ID
;

drop Table Table;