我需要从 EDW 表(确实维护历史记录)加载维度,并且是键值参数类型。
如果在 EDW 中有如下记录,我的情况就可以了
Key1 Key2 Code Value EffectiveDate EndDate CurrentFlag
100 555 01 AAA 2010-01-01 11.00.00 9999-12-31 Y
100 555 02 BBB 2010-01-01 11.00.00 9999-12-31 Y
这需要通过将其旋转为
key1 和 key2 组合使 DM 成为自然键
SK NK 01 02 EffectiveDate EndDate CurrentFlag
1 100-555 AAA BBB 2010-01-01 11.00.00 9999-12-31 Y
我的 ssis 包做了这一切很好的旋转...在 DIM 中查找传入的 NK .. 如果新的将插入 .. 否则进一步查找有效日期并确定相同自然键的传入是否有任何新的(更改)属性.. 如果是这样,则通过设置其结束日期来更新当前记录,并插入具有新属性值的新记录并提取其他属性的最近记录值。
我的问题是,如果相同的自然键在一次提取中具有相同的属性两次,我的第一次查找在自然键上.. 将让两个记录都通过并尝试插入.. 它失败的地方。如果我在 NK 上获得不同的记录,则第二个不会被选中,需要再次运行包。
所以我的问题是,当相同的 NK 在单次提取中出现两次时,我如何配置查找或替代方法来处理这种情况,如果 Dim 表中不存在,则能够插入第一条记录,第二条记录应该能够使用更改进行更新参考上面插入的一个。
不确定这是否有意义。将截图附上一次回到办公桌(周一)。
谢谢