缓慢变化维抽取方案

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一样,更新字段如图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程介绍:          Informatica 9.6 实战课程,将从数据仓库体系架构介绍,服务器搭建配置,实例组件操作,丰富的案例,及项目实战开发过程 来讲述ETL工具Informatica的实际应用,真正完成数据仓库全流程开发应用,ODS层,EDW层,DM层,学完该课程具备ETL软件开发工程师能力水平,能独立完成项目开发工作,从入门到高级项目开发应用,每个实例都载图,课件,教程,数据等,能达到中高级ETL开发能力,本课程的学习要求,一定跟着实例动手实战,操作才能掌握实例的开发步骤,及开发注意事项。每个组件都用具体案例讲解,保证学以致用。掌握ETL的开发技能,搭建数据仓库体系架构。应对各环境操作。具体数据实操与应用。 你将收获:ETL软件开发工程师能力与水平数据仓库体系架构案例综合应用实战ETL实战项目开发数据采集与数据处理数据清洗与数据仓库指标统计学会使用Informatica完成项目开发掌握ETL开发流程掌握数据质量管理 适用人群 数据仓库初学者 数据仓库开发工程师 数据库开发工程师 BI开发工程师 数据可视化工程师大数据开发与应用 数据仓库管理 数据管理 数据分析师 业务数据分析 零基础入门ETL ETL大数据处理 数据仓库体系架构图: 课程大纲:01_Informatica9.6课程导学02_数据仓库体系介绍03_Oracle_安装04_Oracle_配置.wmv05_PLSQL工具汉化破解06_Informatica9.6安装.wmv07_Informatica9.6服务器配置.wmv08_客户端的安装配置连接.wmv09_客户端工具介绍10_源数据介绍11_入门实例EMP_0112_入门实例EMP_0213_入门实例DEPT表14_表达式Fx组件实例115_表达式Fx组件实例216_聚合组件实例17_查找Lookup组件实例18_过滤Filter组件实例19_Informatica9.6 排序sort组件实例详解20_Informatica9.6 分发器Router组件实例21_Informatica9.6 sql连接查询复习22_Informatica9.6 连接查询同构SQ23_Informatica9.6 连接查询异构JOIN24_Informatica9.6 等级函数Rank实例25_Informatica9.6 数据合并Union组件实例26_Informatica9.6 存储过程Px组件实例27_1行转列案例sql28_2行转列案例ETL过程29_工资大于该职位下平均工资案例30_增量抽取案例31_缓慢变化案例32_对文件数据的读取写入33_项目1薪酬统计项目介绍34_Informatica 项目1薪酬统计项目接口入库ODS35_Informatica 项目1薪酬统计项目EDW层明细表临时表1sql36_Informatica 项目1薪酬统计项目EDW层明细表临时表2ETL37_Informatica 项目1薪酬统计EDW层明细表138_Informatica 项目1薪酬统计EDW层明细表239_Informatica 项目1薪酬统计EDW层明细表340_Informatica 项目1薪酬统计DM层月考勤统计报表41_Informatica 项目1开发DM层统计报表142_Informatica 项目1开发DM层统计报表243_Informatica 项目1开发DM层统计报表344_Informatica 项目1开发DM层薪资报表145_Informatica 项目1开发DM层薪资报表246_Informatica 项目1开发DM层薪资报表347_Informatica 项目2计费系统项目介绍48_Informatica 项目2计算系统项目ODS层49_Informatica 项目2计费系统EDW层150_Informatica 项目2计费系统EDW层251_Informatica 项目2计费系统EDW层352_Informatica 项目2计费系统DM层 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值