练习一: Expression组件
4描述
– 将原始客户信息记录转换成合格标准的数据倒入到暂存区。
– 源表:
• customer_east.txt
• customer_west.txt
• customer_central.txt
– 目标:
• TDBU.STG_CUSTOMERS
4要点
– 将源表的姓与名合并至目标一个字段
– 性别转换
– 电话号码转换
– 将源表的年龄按段值范围进行分组 

 

 

1.1  练习描述

Expression 组件使用练习
将原始客户信息记录转换成合格标准的数据倒入到暂存区。
要转换的规则有:
1、 姓与名合并为姓名;
2、 电话号码转换成易读格式的电话号码,如:(466) 766-283;
3、 性别转换,将 F 转换成 FEMALE、 M 转换成MALE、其它转换成UNK;
4、 年龄分段, 20 岁以下、 20~29、 30~39、 40~49、 50~60、 60 岁以上; 

 

1.2. 实现技术
Mapping 设计:
1、 将不合格的客户信息过滤: Filter 组件;
CUSTOMER_NO != 99999 OR ISNULL(CUSTOMER_NO)
2、 将客户信息按要求进行转换: Expression 组件;
1) 姓与名合并为姓名;
FIRSTNAME || ' ' || LASTNAME
2) 电话号码转换成易读格式的电话号码;
'(' || SUBSTR(TO_CHAR(PHONE_NUMBER),1 ,3) || ') ' ||
SUBSTR(TO_CHAR(PHONE_NUMBER),4, 3) || '-' ||
SUBSTR(TO_CHAR(PHONE_NUMBER),7, 4) 

3) 性别转换;
DECODE(GENDER, 'M''MALE',
'F''FEMALE',
'UNK')
4) 年龄分段;
DECODE(TRUE,
AGE < 20, 'LESS THAN 20',
AGE >= 20 AND AGE <= 29, '20 TO 29'

AGE >= 30 AND AGE <= 39, '30 TO 39',
AGE >= 40 AND AGE <= 49, '40 TO 49',
AGE >= 50 AND AGE <= 60, '50 TO 60',
AGE > 60, 'GREATER THAN 60' 

 

技术要点:
1、 数据转换定义;
2、 函数的使用;
3、 文本文件数据导入;
4、 文件列表装载;
5、 FTP 的使用; 

 

 

 

 

 

 

 

从文件导入数据源

informatica expression 表达式组件 练习(一)

informatica expression 表达式组件 练习(一)

 

 

从数据库导入 目标表

 

informatica expression 表达式组件 练习(一)

 

 

 

informatica expression 表达式组件 练习(一)

 

 

 

 

 

 

编辑 表达式 

 

informatica expression 表达式组件 练习(一)

 

FIRSTNAME || '' || LASTNAME

 

informatica expression 表达式组件 练习(一)

 

'(' || SUBSTR(TO_CHAR(PHONE_NUMBER),1 ,3) || ') ' ||

SUBSTR(TO_CHAR(PHONE_NUMBER),4, 3) || '-' ||

SUBSTR(TO_CHAR(PHONE_NUMBER),7, 4)

 

 

informatica expression 表达式组件 练习(一)

DECODE(GENDER, 'M''MALE',

'F', 'FEMALE',

'UNK') 

 

等价于 

IIF(GENDER='M','MALE',IIF(GENDER='F','FAMALE','UNK'))

 

 

informatica expression 表达式组件 练习(一)

DECODE(TRUE,

AGE < 20, 'LESS THAN 20',

AGE >= 20 AND AGE <= 29, '20 TO 29',

AGE >= 30 AND AGE <= 39, '30 TO 39',

AGE >= 40 AND AGE <= 49, '40 TO 49',

AGE >= 50 AND AGE <= 60, '50 TO 60',

AGE > 60, 'GREATER THAN 60' )

 

 

 

 

informatica expression 表达式组件 练习(一)

 

 

发现 有些 没有对应上 

 

informatica expression 表达式组件 练习(一)

 

 

 

 

 

发现 还有些没有 对应上  

 

informatica expression 表达式组件 练习(一)

 

 

 

informatica expression 表达式组件 练习(一)

informatica expression 表达式组件 练习(一)

 

informatica expression 表达式组件 练习(一)

 

 

创建 session  任务  S_M_EMPLOYEE 

创建工作流 

informatica expression 表达式组件 练习(一)

informatica expression 表达式组件 练习(一)

 

 

informatica expression 表达式组件 练习(一)

 

informatica expression 表达式组件 练习(一)

 

 

 

相关文章: