SSIS问题与历史数据

时间:2014-08-12 20:10:22

标签: sql ssis sql-server-2008-r2 business-intelligence

我在名为DimMetrics的表中找到了一个度量标准。 列如下:

MetricSK - unique key
MetricAK - surrogate key
Source 
Status = Current, Expired
LastUpdate = date of the startDate of my range.

我将数据从一个数据源提取到此数据源。我每个月都在检索存储MetricAK和Source的地方。

记录可能会逐月更改,可以删除或添加源。

实现这一目标的最佳方法是什么?尝试使用提供的Slowly Moving Dimension,但我只是通过添加创建新MetricSK的记录来设法使其工作。

我想要的是每月进行一次导入SSIS将检查当前的trecords并将不属于新批次的记录设置为Expired,然后使用Current和日期范围的第一天添加任何新记录选择。

我希望这是有道理的,因为我陷入了可行的解决方案。

谢谢, 皮特

1 个答案:

答案 0 :(得分:1)

好的..这是一种黑客攻击,因为Microsoft SCD没有内置的删除流程。在启动在表上执行SCD的数据流任务之前。使用执行SQL任务将所有行的状态设置为“已过期”。现在,在SCD组件的数据流任务中,您需要为未更改的行添加流,然后添加将状态更新回Current的OLEDB Command。如果你谈论数百万行,这种方法将再次成为一个性能瓶颈。但对于中等大小的桌子,这应该没问题。