ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 粤磊 informatica powercenter学习笔记(六)

粤磊 informatica powercenter学习笔记(六)

原创 Linux操作系统 作者:vzyuelei9 时间:2010-12-07 21:05:34 0 删除 编辑

  缓慢变化维的处理

 

DW的经典四大特点就是  : 面向主题,集成,反映历史变化,数据相对稳定。

为了反映历史变化,比如我们常见的组织维度的年度变更,财务成本中心的变更都需要对 组织表或成本中心表先做判断,如果变更的记录在目标表中存在就更新,如果目标表中没有,我们就插入。

 

其实这个问题,如果直接在DB中,用高级的SQL语句也可实现:

 

ENV;ORACLE  T1,TARGET

DROP TABLE INFO.TARGET CASCADE CONSTRAINTS;

 

CREATE TABLE INFO.TARGET

(

  SS_ID    VARCHAR2(5 BYTE),

  SS_NAME  VARCHAR2(72 BYTE),

  MEMO     VARCHAR2(4 BYTE)

)

TABLESPACE USERS

PCTUSED    0

PCTFREE    10

INITRANS   1

MAXTRANS   255

STORAGE    (

            INITIAL          64K

            MINEXTENTS       1

            MAXEXTENTS       UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

           )

LOGGING

NOCOMPRESS

NOCACHE

NOPARALLEL

MONITORING;

 

DROP TABLE INFO.T2 CASCADE CONSTRAINTS;

 

CREATE TABLE INFO.T2

(

  SS_ID    VARCHAR2(5 BYTE),

  SS_NAME  VARCHAR2(72 BYTE),

  MEMO     VARCHAR2(4 BYTE)

)

TABLESPACE USERS

PCTUSED    0

PCTFREE    10

INITRANS   1

MAXTRANS   255

STORAGE    (

            INITIAL          64K

            MINEXTENTS       1

            MAXEXTENTS       UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

           )

LOGGING

NOCOMPRESS

NOCACHE

NOPARALLEL

MONITORING;

 

以上两张表,TARGET是目标表,我们根据T1表里的SS_ID来更新TARGET表里数据。如果SS_ID存在就做UPDATE,反之做INSERT操作。

 

Merge into target t2

Using t1

On ( t1.ss_id=t2.ss_id)

When matched then

Update

Set t2.memo=t1.memo

When not matched then

Insert

Values(t1.ss_id,t1.ss_nm,t1.memo);

 

如果用INFORMATICA如何来实现呢,INFORMATICA用一套标准的组件来实现这一功能:

上图组件如下:

1 SOURCE的定义 T1

2 SQOUCE QUALIFER

3 EXPERESSION

4 LOOKUP组件查找目标表TARGET

 

6 ROUTER组件

 

 

7UPDATESTRAGE组件

8目标表TARGET

 

 

理一下INFORMATICA的ETL处理过程:

从最新的维度表里读取数据,用EXPERESSION,SOURCEQUALIDFER来规范下维度表的列名及数据,用LOOKUP组件与数据库中的维度表根据SS_ID做比对,如果找到两个ID表为2,找到一个标为1,用ROUTER函数LOOKUPROW的行数来做把结果分为两部分,UPDATE组和INSERT组,   用UPDATESTRAGE来根据对应的组来做UPDATE和INSERT,插入目标表TARGET。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22377317/viewspace-681114/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-01

  • 博文量
    17
  • 访问量
    57723