我需要加载从EDW表尺寸(它维护历史记录),类型为键 - 值参数。SSIS查找与查找组件Vs的脚本组件
我的情况是确定的,如果通过转动它作为
键1和键2的组合获得了创纪录的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
这需要加载到DM使DM的自然键
SK NK 01 02 EffectiveDate EndDate CurrentFlag
1 100-555 AAA BBB 2010-01-01 11.00.00 9999-12-31 Y
我的SSIS包,这一切良好旋转......在昏暗的仰视传入NK ..如果新会插入其他..进一步查找有效的日期,如果incomin确定g为相同的自然键获得属性中的任何新(更改)。如果更新当前记录byy设置其结束日期,并插入新的属性值,并拉动最近的记录值的其他属性。
我的问题是,如果同一个自然键与单一提取物我的第一查找相同的属性,其自然键..让这两个记录和传递尝试插入..其中的失败来两次。如果我在NK上得到不同的记录,那么第二个没有被选中,需要再次运行包。
所以我的问题如何配置lookup或alernative方式来处理这种情况,当相同的NK在单一提取中出现两次时,将能够插入第一个记录,如果不存在Dim表中,第二个应该能够更新参照上面插入的内容进行修改。
不知道这是有道理的,试图解释。将附上屏幕截图回到办公桌(星期一)。
感谢
谢谢凯德,这很有道理。如果我的方法是加入两个数据源,则通过旋转并通过脚本组件传递它们以通过将其他新的传入属性值 =>转储到暂存表中并与实际昏暗合并来计算源记录。这是使用Script组件的性能命中,这是场景。 – Sreedhar 2010-06-06 01:46:02
@Nev_Rahd任何在逐行基础上完成的事情都会比数据库更慢。我认为你真的需要看看你的模型。我已经添加了一些材料。该模型应该与饲料相匹配,以至于如何模拟数据应该反映数据如何随着时间的推移而在子代码中“摆动”。我认为这不仅仅是一个ETL问题,而是一个建模问题,因为我不认为当你查询与这个维度有关的事实表时,你将使用生效日期和结束日期,因为它们与代码分配相关而不是(当前)事实。 – 2010-06-06 02:51:29
@Nev_Rahd因为将要分配给这些维度的Feed中的事实由SK物理分配给维度,所以在查询数据库时生效日期无关紧要。 – 2010-06-06 02:53:14