1、PowerCenter Transformation 使用Transformation(Active :表示Transformation可以改变通过它的数据的行数Passive :表示Transformation不改变通过数据的行数Connected :表示该Transformation要连接到数据流;Unconnected :表示该Transformation可以不连接到数据流)1.Source Qualifier作用:根据sql文件从元数据查出所要记录属性设置:Select Distinct:结果记录将去除重复值。Tracing Level:共有4级 表示log的复杂程度。Number O
2、f Sorted Ports:排序的字段个数,值大于0时,Sql Query 中将出现order by 从句。Source Filter:将出现where语句User Defined Join:如果要定义外部链接可在此写。此属性值必须得用括起来,例如:REG_CUSTOMER LEFT OUTER JOIN PURCHASES on (REG_CUSTOMER.CUST_ID = PURCHASES.CUST_ID AND PURCHASES.AMOUNT 100.00) 命名方式SQ_XX 类型:Active/Connected注意:在更改了SQ的属性值后一定要点击generate sql重
3、新生成sql2 Update Strategy 作用:决定该行插入、删除、更新、忽略哪一种用法:创建好US(Update Strategy),将需要用的字段从Transformation拖拽到US,双击US,对US属性设置。关键是Update Strategy Expression属性的设置,这个表达式使用IIF或DECODE函数对记录的每一行进行判断,为每一行赋予(DD_INSERT,DD_UPDATE,DD_DELETE,DD_REJECT)中任意一个值。表明该行在数据库中将进行何种操作。命名方式:UPD_XXX类型:Active/Connected注意:mapping中有US时,mapp
4、ing对应的session的在配置时必须把Treat rows属性设置为Data Driven,否则US将不起作用。3 Expression作用:计算一个值用法:创建好EXP(Expression)后,将需要的字段从原表拖拽到EXP,双击EXP,新增输出端口,编辑该端口的表达式。命名方式:EXP_XX类型:Passive/Connected注意:要进行列运算一般都用这个Transformation,此种Transformation可以使用本地变量4 Stored Procedure作用:调用一个存储过程用法:创建SP(Stored Procedure)的时候连接数据库选择必要的存储过程。SP有
5、链接和不连接到数据流的两种用法。1)连接到数据流方式跟一般的Transformation类似,通过拖拽端口来实现数据流。2)不连接到数据流分表达式调用和Pre-/Post Session 两种方式。表达式调用方式中SP被Mapping中另外的Transformation中的表达式调用。Pre-/Post Session 方式就是在Session的属性中配置SP的运行时间,Source pre-load(Session 从原表查询数据之前),Source Post-load(Session从源表查询数据之后),Target Pre-load(Session将数据插入目标表之前),Target P
6、ost-load(Session将数据插入到目标表之后) 命名方式:SP_XX 类型:Passive/Connected or Unconnected 注意: 5 Sequence generation Sequence Generator 作用:产生主键 用法:创建SEQ(Sequence Generator)后,双击 Start value :开始值,此属性只在选择了Cycle选项才有效。 Increment By:每次增加的值 End Value:结束值 Current Value:当前开始值 Cycle:被选择后NextVal的值达到End Value 值后会重新从Start Valu
7、e 开始 Reset:服务器会为每个使用了该SEQ的Session的NEXTVAL值都从Current Value 开始。 命名方式:SEQ_Name 类型:Passive/Connected 注意:这是一个只有两个输出端口没有输入端口的Transformation;如果该SEQ可复用时,不能选择Reset 6 Aggregator作用:执行分组聚合运算用法:创建好AGG(Aggregator),将需要用到的字段从其他Transformation拖拽到AGG,双击,勾选上想要分组的列,新增端口,编写聚合表达式实现分组聚合运算。命名方式:AGG_XX类型:Active/Connected注意:可
8、使用本地变量7 Filter作用:过滤记录用法:Filter(FIL),将需要的字段拖拽到FIL,主要对Filter Condition 的配置,Filter Condition写入类似where条件表达式命名方式:FIL_XX注意:8 Lookup作用:查询值用法:创建LKP(Lookup)时选择要查询的表。类似SP有链接和不连接数据流2种用法。链接到数据流方式将要关联查询的字段从其他组件拖拽过来,然后进行属性配置Lookup Policy on Multiple Match :查询到多行时采取第一行,第二行,报错中的哪个策略。Lookup Condition:查询的条件Lookup Cac
9、hing Enable:是否使用缓存,选择上可提高效率Lookup Cache Persistent 是否使用永久的缓存命名方式:LKP_XX类型:Passive/Connected or Unconnected注意:如果Lookup表的类型是来源表的话,尽量使用Joiner;一个已连接的LKP不能在被其他Transformation的表达式调用;如果查询表在Session运行过程中不会改变,使用Lookup Cache Persistent 属性可提高性能;尽量不要在Lookup sql Override中书写Order By子句,因为cached LKP默认有Order by9 Joine
10、r作用:连接查询来自不要数据库的表或平坦文件用法:创建好JNR(Joiner),将需要的字段拖拽过来,双击进行属性配置Join Type:链接类型(Normal Join(相当于常规的inner),Master Outer Join(Detail left Outer),Detail Outer Join(Detail right outer join)和Full Outer Join(Full out join))Join Condition:常规sql on后带的条件命名方式:JNR_XX类型:Action/Connected注意:尽量使用Normal Join,Master Outer
11、Join这俩效率比较好10Normalizer作用:格式化记录,这些记录可以是来自COBOL源用法:命名方式:NRM_Name类型:Active/Connected注意:11 Router作用:根据一组表达式将记录分类路由到多个Transformation用法创建RTR(Router),双击进行设置,添加组,为每组添加过滤条件命名方式:RTR_XX类型:Active/Connected注意过滤条件表达式值必须是真或假12 Rank作用:排序记录,只输出最顶层或最底层n个记录用法:创建RNK(RANK),拖拽字段,将需要排列的选择上“R”,还可以选择你想分组的列。Top/Bottom :top表
12、示顶层,bottom表示底层Number of Ranks 属性值是整数,表示要选择的记录条数。假设你在R选择了名为Price的列,而且在Group by 选择了name列,且选择top,Number of ranks 是2,那么将抽取过程是是这样的:以name分组取出每组中的Price最大的2列记录。命名方式:RNK_XX类型:Active/Connected注意:可以使用本地变量1.2.3.13ERPSourceQualifier 作用:根据查询SQL文从ERP文件查出所要记录 用法: 命名方式: 类型:Active/Connected 注意: 1.2.3.14XMLSourceQualifier 作用:根据查询SQL文从XML文件查出所要记录 用法: 命名方式:XSQ_Name 类型:Passive/Connected 注意:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1