基于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);

1.jpg

2.总体行转列示意图

2.jpg

2.1表输入配置

3.jpg

2.2列转行配置

4.jpg

2.3字段选择配置

5.jpg

2.4文本文件输出配置

6.jpg

输出到文件后查看内容

7.jpg

8.jpg

9.jpg


二、列转行

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);

10.jpg

2.整体示意图

11.jpg

2.1表输入

12.jpg

2.2行转列

13.jpg

2.3字段选择

14.jpg

2.4Excel输出

15.jpg

3.执行后查看输出文件

16.jpg

17.jpg


到这里我们就用kettle工具实现了行转列和列转行的功能,大家有空也可以测试一下。


版权声明:
作者:WaterBear
链接:https://l-t.top/581.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>