【问题标题】:QlikView: Insert and update based on condition (without timestamp)QlikView:根据条件插入和更新(无时间戳)
【发布时间】:2016-12-08 10:02:46
【问题描述】:

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

示例:为了简化示例,我已经说明了我希望数据集如何更新。 (代码留给大家讨论)

插图:

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

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

说明:

  1. 插入新记录
  2. 如果值高于现有记录,则更新记录

你们认为这种问题的最佳解决方案是什么?

【问题讨论】:

    标签: qlikview


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2013-06-11
      • 1970-01-01
      • 2023-04-02
      • 2018-03-30
      • 2018-02-16
      相关资源
      最近更新 更多