在Pentaho中实现纯SCD类型6

在Pentaho中实现纯SCD类型6,pentaho,data-warehouse,kettle,pentaho-spoon,Pentaho,Data Warehouse,Kettle,Pentaho Spoon,我有一个有趣的任务,创建一个用于加载一个表的壶穴转换,这是一个很好的例子。这快把我逼疯了 采用下表结构 |CustomerId|Name|Value|startdate|enddate| |1|A|value1|01-01-2001|31-12-2199| |2|B|value2|01-01-2001|31-12-2199| 然后是我的输入文件 Name,Value,startdate A,value4,01-01-2010 C,value3,01-01-2010 在釜式转换之后,数据必须如

我有一个有趣的任务,创建一个用于加载一个表的壶穴转换,这是一个很好的例子。这快把我逼疯了

采用下表结构

|CustomerId|Name|Value|startdate|enddate|
|1|A|value1|01-01-2001|31-12-2199|
|2|B|value2|01-01-2001|31-12-2199|
然后是我的输入文件

Name,Value,startdate
A,value4,01-01-2010
C,value3,01-01-2010
在釜式转换之后,数据必须如下所示

|CustomerId|Name|Value|startdate|enddate|
|1|A|value1|01-01-2001|31-12-2009|
|1|A|value4|01-01-2010|31-12-2199|
|2|B|value2|01-01-2001|31-12-2199|
|3|C|value3|01-01-2010|31-12-2199|
  • 检查现有数据并查找传入记录是否为插入/更新
  • 然后仅为插入记录生成代理项并执行插入
  • 保留更新记录的代理键,并将其作为新记录插入,为新记录指定一个开放的结束日期(非常高的值),并关闭以前的相应记录作为新记录的开始日期-1

有人能建议最好的方法吗?使用维度查找更新选项,我只能看到类型1和类型2。我使用混合的ETLT方法来实现这一点