以前在做DBA时在DB里写过行转列,列转行的CODE.这两天做了一下测试用INFORMATICA来实现行列互换的功能。

列转行的SQL 实现

ENV: RMDB

TABLE: SALES

STORENAME QUARTER1  QUARTER2 QUARTER3 QUARTER4

STORE1                   100                  300                  500                  700

STORE2                   200                  400                  600                  800

SOLUTION:

SELECT STORENAME,QUARTER1 AS SALES, 1 AS QUARTER

FROM SALES

GROUP BY STORENAME,QUARTER1

UNION

SELECT STORENAME,QUARTER2 AS SALES, 2 AS QUARTER

FROM SALES

GROUP BY STORENAME,QUARTER2

UNION

SELECT STORENAME,QUARTER3 AS SALES, 3 AS QUARTER

FROM SALES

GROUP BY STORENAME,QUARTER3

UNION

SELECT STORENAME,QUARTER4 AS SALES, 4 AS QUARTER

FROM SALES

GROUP BY STORENAME,QUARTER4

  列转行的INFORMATICA 实现

1 SOURCE  TABLES 导入MAPING

2 SQLQUALIFER 读取数据

3 NORMALIZER 实现对应的列行转换,在NORMALIZER属性里设置STORENAME,QUARTER DATA(为LEVEL 1,每季度的销售值SALES为LEVEL2. QUARTER DATA的OCCURS值设为4就可实现列行转换

二  行转列的SQL 实现

ENV:

create table sales2(storename varchar(20),

sales number(9),quarter number(9))

select * from sales2

SOLUTION:

SELECT STORENAME,

MAX(CASE WHEN QUARTER=1 THEN SALES ELSE 0 END) QUARTER1,

MAX(CASE WHEN QUARTER=2 THEN SALES ELSE 0 END) QUARTER2,

MAX(CASE WHEN QUARTER=3 THEN SALES ELSE 0 END) QUARTER3,

MAX(CASE WHEN QUARTER=4 THEN SALES ELSE 0 END) QUARTER4

FROM SALES2

GROUP BY STORENAME

ORDER BY STORENAME

INFORMATICA 实现

  1 导入源表SALES2

  2 SQLQULIFER读取数据

  3 用EXPERSSION TRANSFORMATION 来判断QUARTER值来取SALES值

4 用聚合函数来取出判断后的最大值,即真正的SALES值

  5 导入到目标表或目标文件后即实现了行转列的功能。

informatica powercenter学习笔记(三)的更多相关文章

  1. informatica powercenter学习笔记(一)

    本文转摘:http://blog.itpub.net/22377317/viewspace-677137/ 1 informatica powercenter的下载: 方法一:去年我是在ORACLE ...

  2. informatica powercenter学习笔记(LookUp 使用)

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  3. Informatica Powercenter学习笔记

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  4. informatica powercenter学习笔记(二)

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  5. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  6. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  7. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  8. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  9. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

随机推荐

  1. python存取数据进阶技巧-pickle,array模块

    我们在存/取数据时,没有必要存成文本形式,多试试二进制形式,文本只是骗骗眼睛的,要更快和更高效 1.数组形式 如果我们需要一个之包含数字的列表,那就试试array.array,注意,不是numpy模块 ...

  2. Deepin 2015 火狐 Firefox安装Flash

    1.sudo apt-get install flashplugin-nonfree 2.至Abobe官网下载最新的Linux版本flash安装包,选择.tar.gz类型,下载(https://get ...

  3. loadrunner脚本编写http协议

  4. Codeforces Round #361 (Div. 2) D - Friends and Subsequences

    题目大意:给你两个长度为n的数组a, b,问你有多少个问你有多少个区间满足 a中最大值等于b中最小值. 思路:我本来的想法是用单调栈求出每个点的管辖区间,然后问题就变成了巨麻烦的线段覆盖问题,就爆炸写 ...

  5. LeetCode 260. Single Number III(只出现一次的数字 III)

    LeetCode 260. Single Number III(只出现一次的数字 III)

  6. HTML5实战与剖析之字符集属性(charset和defaultCharset)

    HTML5对字符集属性也进行了更新,其中charset和defaultCharset属性就是HTML5中新添加的字符集属性.有关charset和defaultCharset属性的具体讲解尽在HTML5 ...

  7. 【转】关于Vue打包的一个要注意的地方

    https://www.jianshu.com/p/4118e76d684a 我们用vue-cli(脚手架)自动生成项目,然后用webpack来打包,往往会遇到这种问题: 1.直接根据README.m ...

  8. 图解安装CLion编写程序并进行单元测试

    我对JetBrains公司的IDE情有独钟,于是这里使用的IDE是CLion,CLion是以IntelliJ为基础,专为开发C及C++所设计的跨平台IDE,可以在Windows.Linux及MacOS ...

  9. 洛谷P3434 [POI2006]KRA-The Disks [模拟]

    题目传送门 KRA 题目描述 For his birthday present little Johnny has received from his parents a new plaything ...

  10. [BZOJ3583]杰杰的女性朋友(矩阵快速幂)

    杰杰的女性朋友 时间限制:10s      空间限制:256MB 题目描述 杰杰是魔法界的一名传奇人物.他对魔法具有深刻的洞察力,惊人的领悟力,以及令人叹为观止的创造力.自从他从事魔法竞赛以来,短短几 ...