在数据仓库设计过程中,绝大多数情况都会遇到缓慢变化维,如果业务方只是简单的使用最新维度来匹配主数据,在ETL过程中使用SSIS自带渐变维度组件是很方便的,
但是这个组件有一定的限制要求,由于自身使用OLE DB命令,所以组件自身的源必须是sqlserver,并且使用OLE DB源,如果维度行数过大,使用组件做缓慢变换维对性能有一定影响。
示例:
源表source 列a(主键列) 列b(信息列)
目标表 test 列a(业务键) 列b(信息列)列c(可用于维度更改历史的变更记录存储,贱货湖面)
1. 首先需要配置好一个源,以及一个维度表所在的OLAP目标库,
2.在缓慢变化维组件中,选择自己的维度表所在 的DW库,并选择对应的维度表,
注意:必须选择最少一个列为业务列:即可以理解为维度表中可以唯一标识的主键列
3.继续配置组件,选择需要的维度更改属性,根据汉字意思可做理解,大多数情况下会选择第三种带有历史属性的更改,这样可以保存住历史维度的更改信息。
4. 选择c列做显示记录信息列,可以自己选择记录的形式,如果选择选择第二种的用时间来记录过期信息(时间拉链的概念,常用的拉链表),需要在维表中增加用于存储时间记录的字段
5.正常情景下,一般不选择使用推断成员,勾掉即可
6.点击下一步SSIS就可以自动创建后面的组件,完成数据流,如图,左半边是输出历史更新记录,新输出项主要输出新增记录,二者合并插入原维度,历史过期记录则通过OLEDB命令,更新成过时
7.以上就是简单的SSIS渐变维度组件的操作,这个组件在对付小维表的时候,操作很方便,不用写一些存储过程等等来实现这个操作,非常方便