kettle中denormalizer(列转行)的使用
需要列转行的数据分为两种:有主键和无主键,这里说无主键的:
转以前的内容

转以后的内容

看到了吧,转过来了,好来张整体流程图

开始分析:
第一个图标打开后为

这是第一步里面主要的一步,这里配置好了就可以进行第二步了。
因为没有主键,所以要给城市那一列添加一个相同的主键,这样数据在转成行的时候就可以转到同一行了,如果主键不同,转成行后,每一个主键为一行,这不是我们想要的。
打开列转行的界面为

图中的dummy是我们前一步添加的常量,关键字段选择城市,关键字段值就为城市的value,数据字段为人数的key,所谓目标字段就是在转成行以后你希望看到的名字。
打开结果输出图标

好了,到这里就都配置完了,点执行按钮,你就会看到文中开头的结果了。
有主键的就不说了,那个比无主键的要简单,因为有主键的数据直接转就行,如果不明白可以留言。
本文出自 “博客即日起停止更新” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/1434015
kettle中denormalizer(列转行)的使用的更多相关文章
- Oracle中的列转行实现字段拼接用例
文章目录 Oracle中的列转行实现字段拼接 场景 在SQL使用过程中经常有这种需求:将某列字段拼接成in('XX','XX','XX','XX','XX','XX' ...)做为查询条件. 实现 s ...
- hive中的列转行和行转列
1.列转行 1.1 相关函数的说明: concat(string1,string,...) //连接括号内字符串,数量不限. concat_ws(separator,string1,string2,. ...
- Oracle中的列转行例子详解
数据如下:name id张三 1,2,3 要求实现:name id张三 1张三 2张三 3 --创建临时表 create table tmp as(select '张三' name, '1,2,3' ...
- SQL Server中动态列转行
http://www.cnblogs.com/gaizai/p/3753296.html 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现 ...
- sql server 怎么实现mysql中group_concat,列转行,列用分隔符拼接字符串
create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, ' ...
- sql中的行转列和列转行的问题
sql中的行转列和列转行的问题 这是一个常见的问题,也是一个考的问题 1.行转列的问题 简单实例 CREATE TABLE #T ( MON1 INT, MON2 INT, MON3 INT ) G ...
- mysql数据库中列转行
今天突然想到了数据库中的行专列与列转行,还不熟悉,在上网看了一下然后就自己写了个例子. 数据库表示这样滴! //全部查询出来SELECT (case type when 'MySql数据库' then ...
- Spark SQL中列转行(UNPIVOT)的两种方法
行列之间的互相转换是ETL中的常见需求,在Spark SQL中,行转列有内建的PIVOT函数可用,没什么特别之处.而列转行要稍微麻烦点.本文整理了2种可行的列转行方法,供参考. 本文链接:https: ...
- oracle中的行转列,列转行
行转列:源表: 方法1:case when select y,sum(case when q=1 then amt end) q1,sum(case when q=2 then amt end) q2 ...
随机推荐
- Object-C中的字符串对象2-可变字符串
// // main.m // 字符串-可变字符串 // // Created by zhangqs008 on 14-2-13. // Copyright (c) 2014年 zhangqs008. ...
- 博客已迁移至512z.com
本博客已迁移至http://blog.512z.com,此处今后不再更新
- Android四大组件全然解析(一)---Activity
本文參考\android\android\frameworks\base\core\java\android\app\Activity.java文件里的类凝视.以及android/frameworks ...
- location if (.....) #if与中括号之间要有空格
[root@web01 default]# /app/server/nginx/sbin/nginx -t nginx: [emerg] unknown directive nginx: config ...
- -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110
问题 今天做项目,遇到了这个问题 -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc8301 ...
- java:常用的两种设计模式(单例模式和工厂模式)
一.单例模式:即一个类由始至终只有一个实例.有两种实现方式(1)定义一个类,它的构造方法是私有的,有一个私有的静态的该类的变量在初始化的时候就实例化,通过一个公有的静态的方法获取该对象.Java代码 ...
- tableview 与 tableview cell
1.tableview cell: import Foundationimport UIKit class CjwtCell: UITableViewCell { @IBOutlet var lb_c ...
- javascript 异步实现方案
1.回调函数 fn1( fn2 ); 2.事件监听 fn1.on('done', fn2); function fn1() { setTimeout(function(){ fn1.trigger(' ...
- oracle 表空间 数据文件 表的关系
数据文件是表空间的容器,增加数据文件是增大表空间的容量,而不是往表空间里添加数据因此数据文件肯定能添加,如果表空间用完了,再添加新的数据就会报错你可以这样理解,数据库是一个箱子,表空间是箱子里的抽屉, ...
- [debootstrap]制作基于arm平台的debian文件系统
之前用过的Linux文件系统是直接busybox制作的,而当前使用的是debian的Jessie,看了一些博客后,了解到如果使用debian,那么直接使用debootstrap来构建文件系统即可 -- ...