【问题标题】:Microsoft SQL Server 2012 Slowly Changing Dimensions Historical Attributes Change Date as well as StatusMicrosoft SQL Server 2012 渐变维度 历史属性 更改日期以及状态
【发布时间】:2015-01-29 08:52:52
【问题描述】:

我在 MS SQL Server 2012 和 VS 2010 上遇到以下问题:

我想使用 SSIS for Slowly changed Dimensions 来更改历史属性。 由于向导只让我有机会决定将信息(无论记录是否过时)保存在一个列或两个日期列中(请参阅https://msdn.microsoft.com/en-us/library/ms187958.aspx)。 但我想两者都做,将信息保存在“状态”列中,并更新“开始日期”和“结束日期”。

使用 SSIS 后员工表的外观示例:

员工 Emma Johnson 结婚了,因此,她于 2013 年 2 月 20 日将她的姓氏更改为 Smith。

员工ID | EmployeeIDAlternateKey |名字 |姓氏 |开始日期 |结束日期 |状态

1 | 123 |艾玛 |约翰逊 | 01-01-2013 | 20-02-2013 |空

2 | 123 |艾玛 |史密斯 | 20-02-2013 |空 |当前

感谢您的帮助!

【问题讨论】:

  • “我想将 SSIS 用于渐变维度” - 我的建议:不要!参见“Expert Cube 开发”一书

标签: sql-server-2012 scd


【解决方案1】:

您如何在缓慢变化的维度组件生成的拆分中实现您的逻辑

如果要插入记录,则将状态设置为“当前”;并在维度中插入记录

如果要更新记录,请将状态设置为“NULL”;并更新维度中的记录

【讨论】:

  • 谢谢,我通过更新“OLE DB 命令”中“历史属性插入输出”的查询来管理它-Path:UPDATE [dbo].[DimEmployee] SET [EndDate] = ?, [状态] = NULL WHERE [EmployeeNationalIDAlternateKey] = ? AND [EndDate] 为空
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多