基于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);
2.总体行转列示意图
2.1表输入配置
2.2列转行配置
2.3字段选择配置
2.4文本文件输出配置
输出到文件后查看内容
二、列转行
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);
2.整体示意图
2.1表输入
2.2行转列
2.3字段选择
2.4Excel输出
3.执行后查看输出文件
到这里我们就用kettle工具实现了行转列和列转行的功能,大家有空也可以测试一下。
共有 0 条评论