例如:在图一(渐变维列)中,屏幕截图显示AccountDescription列被设置为变化型属性,AccountType列是历史型属性,Operator是不变属性。 图1,变化类型:不变属性,变化型属性,历史型属性。 在图2(历史型选项)中,你可以配置你的实现细节。你可以让SSIS包在检测到不变属性变化时执行失败;而且你可以在检测到变化型记录被修改时,修改所有匹配的记录,包括过期记录。
大家可以看看我以前对第一个选项的讨论。 第二个选项对那些会有重复值,重复跨多个维度成员的属性比较有用。例如:同一个账户类型被应用到多个账户,如果账户类型从“负债”变成了“流动负债”,你可能想对所有……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
例如:在图一(渐变维列)中,屏幕截图显示AccountDescription列被设置为变化型属性,AccountType列是历史型属性,Operator是不变属性。
图1,变化类型:不变属性,变化型属性,历史型属性。
在图2(历史型选项)中,你可以配置你的实现细节。你可以让SSIS包在检测到不变属性变化时执行失败;而且你可以在检测到变化型记录被修改时,修改所有匹配的记录,包括过期记录。大家可以看看我以前对第一个选项的讨论。
第二个选项对那些会有重复值,重复跨多个维度成员的属性比较有用。例如:同一个账户类型被应用到多个账户,如果账户类型从“负债”变成了“流动负债”,你可能想对所有此类型账户应用这一变更。
接下来,向导会提示你选择识别当前记录和过期记录的方式。有两个选项供你选择:把记录标识为过期(或废弃,超期或者你选择的其他形容词);或者通过给该条记录添加过期日期来表示本记录是过期记录。如果你选择了后者,你可以使用SSIS的一个全局变量来判断更新过期维记录的日期和时间值。我更喜欢使用标志当前记录的方式,所有其他记录可以认为是过期的。当然,你可以从多个选项中选择。
图2,配置你的实现细节。
图3所示界面(数据流任务)允许你配置对自动推断维成员的支持。自动推断成员在你加载一条记录给实际表时就创建了,它没有相应的维记录。为了分析正确,每一个实际表记录必须与维度表中的一条记录相关联。
在数据仓库中有多种途径做到这一点。SCD向导允许你创建一个新的自动推断成员记录,其中所有维属性设置为Null。在你的维度表里设置一个“未知”成员(可能是让代理键等于-999,或者另一个特殊的不在正常范围内的值)常常很有用,省得创建自动推断成员。在本例中我们只关注Type1类型的SCD和Type2类型的SCD,并且不关注自动推断成员。所以我们取消默认选中,然后点击下一步。
这就是向导为找出维护SCD要求的整个数据流需要的所有信息。你可以从下面的屏幕截图中看到,向导替你做了大量的工作。
图3,使用数据流任务配置对自动推断维成员的支持。
你可以定制向导生成的数据流来满足应用程序的需要。但是,首先我们要检查最新创建的转换组件:如果AccountType 得值被改变了,OLEDB命令转换器就更新“record_expired(过期记录)”属性。如果数据源的值变了,SSIS会创建新纪录,这样Union All转换组件会把这条记录和原来存在的数据源记录联合起来。OLEDB命令1转换组件会用类似下面的SQL命令来更新AccountDescription的值——基于业务键AccountCodeAlternateKey的变化属性。
UPDATE [dbo].[DimAccount] SET [AccountDescription] = ?
WHERE [AccountCodeAlternateKey] = ?
最后,插入目标转换组件会填入目标表DimAccount。
现在,我们在事务数据库中更新几个成员,然后运行包看看SCD向导维护变化维度是否正确。事实上,我们可以确认在把属性值AccountType得值从“assets”改为“wonderful assets”时,触发了在Account维创建新记录,并把新创建的记录标记为当前记录:
另一方面,AccountDescription列的变化不创建新行——它们只是简单地覆盖原来的值。
就像我在本文一开始就提到的,在你的数据仓库里有一些维护渐变维度(SCD)其他方法不能通过向导使用。然而,通过在SSIS中点击几下,就实现Type1和Type2渐变维度的能力肯定能加快ETL开发的速度。
翻译
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
超越RDBMS:数据仓库与数据湖、数据集市
现在企业从各种来源收集的大量数据已经远远超出传统关系学数据库可处理的范畴。这引发数据仓库与数据湖的问题:何时使 […]
-
对SAP HANA数据库涉嫌知识产权盗窃的指控存疑
Enterprise Applications Consultin公司负责人Joshua Greenbaum表 […]
-
数据货币将决定企业成败
在2017年3月McKinsey公司对500多名高管的调查显示,越来越多的企业使用数据和分析来推动增长,但目前 […]