kettle 源码分析(分享一个kettle实验--行列转换测试)

概述

前面介绍了用sql去实现行列转换,而kettle在控件中拥有行列转换功能,是不是也可以做行列转换呢?


一、行转列

1.数据库脚本

create database test; use test; create table t_score( studentno int not null, #学号 name varchar(20) not null, #名字 subject varchar(10) not null, #科目 grade int default 0 #分数 ); INSERT INTO `t_score`(studentno,name,subject,grade) VALUES (1001,'王海', '语文', 86), (1001,'王海', '数学', 83), (1001,'王海', '英语', 93), (1002,'陶俊', '语文', 88), (1002,'陶俊', '数学', 84), (1002,'陶俊', '英语', 94), (1003,'刘可', '语文', 80), (1003,'刘可', '数学', 86), (1003,'刘可', '英语', 88), (1004,'李春', '语文', 89), (1004,'李春', '数学', 80), (1004,'李春', '英语', 87);

kettle 源码分析(分享一个kettle实验--行列转换测试)(1)

2.总体行转列示意图

kettle 源码分析(分享一个kettle实验--行列转换测试)(2)

2.1表输入配置

kettle 源码分析(分享一个kettle实验--行列转换测试)(3)

2.2列转行配置

kettle 源码分析(分享一个kettle实验--行列转换测试)(4)

2.3字段选择配置

kettle 源码分析(分享一个kettle实验--行列转换测试)(5)

2.4文本文件输出配置

kettle 源码分析(分享一个kettle实验--行列转换测试)(6)

输出到文件后查看内容

kettle 源码分析(分享一个kettle实验--行列转换测试)(7)

kettle 源码分析(分享一个kettle实验--行列转换测试)(8)

kettle 源码分析(分享一个kettle实验--行列转换测试)(9)


二、列转行

1.数据库脚本

CREATE TABLE t_score2(studentno INT,name varchar(20),chinese INT,math INT,english int); INSERT INTO t_score2 VALUES(1001,'王海',70,74,76); INSERT INTO t_score2 VALUES(1002,'陶俊',80,82,84); INSERT INTO t_score2 VALUES(1003,'刘可',90,93,94); INSERT INTO t_score2 VALUES(1004,'李春',88,77,94);

kettle 源码分析(分享一个kettle实验--行列转换测试)(10)

2.整体示意图

kettle 源码分析(分享一个kettle实验--行列转换测试)(11)

2.1表输入

kettle 源码分析(分享一个kettle实验--行列转换测试)(12)

2.2行转列

kettle 源码分析(分享一个kettle实验--行列转换测试)(13)

2.3字段选择

kettle 源码分析(分享一个kettle实验--行列转换测试)(14)

2.4Excel输出

kettle 源码分析(分享一个kettle实验--行列转换测试)(15)

3.执行后查看输出文件

kettle 源码分析(分享一个kettle实验--行列转换测试)(16)

kettle 源码分析(分享一个kettle实验--行列转换测试)(17)


到这里我们就用kettle工具实现了行转列和列转行的功能,大家有空也可以测试一下。觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

kettle 源码分析(分享一个kettle实验--行列转换测试)(18)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页