缓慢变化维抽取方案

原创 2015年07月07日 16:22:05

INFORMATICA提供三种SCD Dimension抽取Mapping Wizard:

(个人认为Mapping Template Wizards比Wizards更先进更简练)

Type1不保存历史数据,当某些重要字段发生变化,直接更新维度表

Type2保存所有历史维度变更,三种方案:

 

Type3只保存当前和最近一次的被替换的维度变更,Target表通常增加类似字段:(上次更新的字段值和上次更新时间)

比如:PM_PREV_INTEGRATION_ID,PM_PREV_DATASOURCE_NUM_ID,PM_EFFECT_DATE

 

TYPE3 图:

 

重点讨论下TYPE2的三类抽取:

1)Creating a Type 2 Dimension/Version Data Mapping

When you use this option, the Designer creates two additional fields in the target:

 PM_PRIMARYKEY. The Integration Service generates a primary key for each row written to the target.


 PM_VERSION_NUMBER. The Integration Service generates a version number for each row written to the target.

当前最新的业务记录是PM_VERSION_NUMBER最大的那条记录

每当维度指定的重要属性发生变化就插入一行新数据,业务键相同的一组记录中最大的PM_VERSION_NUMBER+1,原来的记录保持不变,所以mapping只有插入操作。

NewOrChangedFlag:   IIF( ISNULL(PM_PRIMARYKEY), 1, IIF( ( POSITION_NAME != PM_PREV_POSITION_NAME OR DIVN_NAME != PM_PREV_DIVN_NAME )  , 2, 0)  )

Filter : IIF(NewOrChangedFlag=0,FALSE,TRUE)

NEW_PM_VERSION_NUMBER:  IIF( NewOrChangedFlag = 1,0,  PM_VERSION_NUMBER + 1)

 

2) Creating a Type 2 Dimension/Flag Current Mapping

When you use this option, the Designer creates two additional fields in the target:

 PM_CURRENT_FLAG.  The Integration Service flags the current row “1” and all previous versions “0.”
 
 PM_PRIMARYKEY.   The Integration Service generates a primary key for each row written to the target.


 

NewOrChangedFlag:  IIF( ISNULL(PM_PRIMARYKEY), 1, IIF( ( POSITION_NAME != PM_PREV_POSITION_NAME OR DIVN_NAME != PM_PREV_DIVN_NAME )  , 2, 0)  )


新插入的 PM_CURRENT_FLAG=1 ,旧的更新为 PM_CURRENT_FLAG=0

 

3)Creating a Type 2 Dimension/Effective Date Range Mapping

When you use this option, the Designer creates the following additional fields in the target:

 PM_BEGIN_DATE. For each new and changed dimension written to the target, the Integration Service uses the system date to indicate the start of the effective date range for the dimension.
 
 PM_END_DATE. For each dimension being updated, the Integration Service uses the system date to indicate the end of the effective date range for the dimension.
 
 PM_PRIMARYKEY. The Integration Service generates a primary key for each row written to the target.

 

PM_PRIMARYKEY

ITEM

STYLES

PM_BEGIN_DATE

PM_END_DATE

4325

Sock

13

9/1/98

6/1/99

5401

Boot

20

10/1/98

6/1/99

6345

Sock

18

6/1/99

6346

Boot

25

6/1/99

 

Mapping流程图和Creating a Type 2 Dimension/Flag Current Mapping一样,更新字段如图:

相关文章推荐

数据仓库中,缓慢变化维的一种设计方案

数据仓库中,缓慢渐变维度是一种经常使用到的方案。 “渐变”,即为逐渐变化的维度,因为日常应用中,维度属性是随时可能发生变化的,而BI统计时,又可能是需要历史某个时间点的维度属性值。所以这种情况下,就需...

数据仓库缓慢变化维(Slow changing demenison) 的实现方案

目录   缓慢变化维解决方案 1   参考文档:Wikipedia 2   一.新数据覆盖旧数据 3   二.保存多条记录,并添加字段加以区分 3   三.不同字段保存不同值 4   ...
  • ffffffs
  • ffffffs
  • 2012年07月25日 14:23
  • 1134

缓慢变化维

维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它...

Dimension——缓慢变化维-SCD

DW

BIEE建模技巧之-利用环状模型处理时间维与Type2缓慢变化维的联动

一般来说,是不需要环状模型的,环状模型通常都可以通过别名等方式转换成非环状的(BIEE 10g在逻辑层是不允许建立环状模型的(物理层可以),而11g 则没有了这个限制) 但是某种情况下,还真需要环状...

缓慢变化维 基本三招

理论与实践的一个典型区别就是,现实世界中我们遇到的问题总是不按套路来,一切都在不断变化。或者说这个世界没有我们遇不到的问题,只有我们想不到的变化。面对数据仓库,我们源源不断地将数据往里面扔,力求建造一...

缓慢变化维

http://baike.baidu.com/link?url=O_F4NBIiy-qkQqPRx6d_zb0fMOQrkyf4pQ2SvC8WZTa7KGgitcx62InmT6ieQ27f8btY...

缓慢变化维介绍

实例说明1: 缓慢变化的维,如你注册csdn账号是所填写的地址、电话等资料,你的地址会变化的,但是很久才会变一次,这就是一个缓慢变化维。请参见Type1, Type2, Type3。 Type1-...

Informatica的缓慢维度变化

  • 2009年06月09日 13:01
  • 174KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:缓慢变化维抽取方案
举报原因:
原因补充:

(最多只允许输入30个字)