使用Infrmatica组件实现行列转换.doc

使用Infrmatica组件实现行列转换.doc

ID:55505763

大小:328.00 KB

页数:7页

时间:2020-05-15

使用Infrmatica组件实现行列转换.doc_第1页
使用Infrmatica组件实现行列转换.doc_第2页
使用Infrmatica组件实现行列转换.doc_第3页
使用Infrmatica组件实现行列转换.doc_第4页
使用Infrmatica组件实现行列转换.doc_第5页
资源描述:

《使用Infrmatica组件实现行列转换.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、场景1行转换成列1)目的:将源表中多行记录数转换成目标表中的一行记录2)举例:源表格式序号年份季度销售额(万元)1201311000220132150032013320004201342500目标表格式序号年份第一季度第二季度第三季度第四季度1201310001500200025003)Mapping设计注解1:Sort组件,对转换前的数据进行排序,使之形成按年份和季度排序后的记录;注解2:转换组件,主要行转列逻辑在此组件完成。注解3:过滤组件,过滤得到最终数据(季度值为4的记录);注解4:sequence组件,为目

2、标表创建自定义序列;注解5:目标表,最终目标表数据,每年只包含一条记录;注解6:中间记录,每个季度都对应一条记录。4)详细设计a排序组件按照年份,季度字段进行升序排序。B行转列转换组件端口分为两类:输出端口(红色框)和变量部分(蓝色框)变量作用:季度销售额中间变量(q1_pre、q2_pre、q3_pre):保存各季度销售额的临时变量季度销售额变量(q1_v、q2_v、q3_v、q4_v):给目标表各季度销售额赋值执行原理:处理源表第一条记录时,season=1成立,q1_v被赋值为salary的值(1000),q2

3、_v、q3_v、q4_v仍为默认值0,此时q1_pre=q1_v=1000,q2_pre=q2_v=0,q3_pre=q3_v=0.处理源表第二条记录时,season=1不成立,q1_v=q1_pre=1000(q1_pre前面已经赋值为salary值);season=2成立,q2_v被赋值为salary的值(1500),同时q2_pre=q2_v=1500,q3_v、q4_v仍为默认值0;依次类推,直到第四条记录处理完,各变量的值都对应赋予各季度的销售额。C过滤组件最终得到季度为4的记录作为目标表的输入。5)结果展

4、示目标表记录中间表记录场景2列转行1)目的:与场景1刚好相反,将源表中单行记录数转换成目标表中的多行记录2)举例源表格式序号年份第一季度第二季度第三季度第四季度120131000150020002500目标表格式序号年份季度销售额(万元)12013110002201321500320133200042013425003)Mapping设计注解1:Normalizner组件,本设计中的核心组件,实现列转换成行的逻辑设计。注解2:表达式组件,将Normalizner组件输出的季度替换成目标格式。4)详细设计A)Norma

5、lizner组件主要操作在Normalizener选项页,通过Occurs属性来设置某个字段的发生次数。这里因为一年中四个季度都有salary,所以这里设置为4.配置好以上属性后,Normalizner组件自动生成了输入和输出端口其中GCID_salary为季度属性,从1开始取值(1代表第一季度)。B)表达式组件将Normalizner组件生成的季度值替换成Q1,Q2,Q3,Q44)结果展示

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。