事实表更新,维度变化缓慢

时间:2013-02-05 01:41:57

标签: ssis ssas data-warehouse etl

搜索关键字有点棘手,所以如果存在这个问题我会道歉。

假设我有一个标准类型2缓慢变化的维度,使用Startdate和Enddate列建模。 NULL Enddate的记录是维度记录的当前版本。

我理解当我从源数据中检测到什么是事实表插入时,它非常简单。基于匹配业务键和Enddate = NULL的维度记录,简单地将新事实表记录插入映射到最新维度记录。

当我在源系统中对某个度量进行更新时,我在确定要做什么时遇到了一些麻烦,在我的事实表中,这将更新为什么,而不是插入。我似乎只有加入的业务键,事实表中的现有记录可能指向维度记录的先前版本。我不确定如何从维度中获取正确的代理键并执行事实表更新。

如果需要,我可以提供更多细节。

提前致谢。

1 个答案:

答案 0 :(得分:4)

源表上是否有insertcreate日期?你可以用它来做

select * from dim where src_dt 
between dim.startdate and dim.enddate and keys = src.keys 

并返回正确的尺寸行。如果你使用SCD。

进行查找时,您应该使用日期和自然键来获取正确的维度行,而不是为插入和更新选择最新的当前昏暗行。