在Pentaho中实施Pure SCD Type 6

时间:2016-08-25 13:32:30

标签: pentaho data-warehouse kettle pentaho-spoon

我有一个有趣的任务是创建一个Kettle转换来加载一个Pure Type 6 dimension的表。这让我发疯了

假设下表结构

|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

有人可以建议最好的方法吗?我只能使用Dimension Lookup-Update选项

看到Type 1和2

1 个答案:

答案 0 :(得分:1)

我使用ETLT的混合方法做到了这一点。

enter image description here