行转列步骤实现输入行集的列压缩。例如输入行集有c1-c10共10个列,如果全部配置为行转列,那么数量上看,输入的1行将变为10行,步骤配置信息如图1所示。
图1 步骤配置信息
下文详细解释各控件的含义:
1、转换步骤名称:步骤的名称,在单一转换中,名称必须唯一。
2、Key字段:即关键词字段,行转列操作后,在此配置的字段会形成一个新字段,“Key字段”就是为这个新字段名称。其值为控件3中配置的所有“Key值”集合。
3、字段:指定用来转变的字段集合,点击右下方的“获取字段”按钮,从输入行集获取相应字段。在控件3中配置的字段将全部被删除,其值按照规则转为多行,未配置字段保留。
(1)字段名称:选择输入到该步骤元数据中需要行转列的源字段,在此处所选择的多个字段会转换为一列数据,此列数据的字段名为“Value字段”中设置的第一个名称。
(2)Key值:此处设置的值为上述“字段名称”分类的字符串,用于识别转换后的数据来自于哪个源字段;注:可与“字段名称”中的值保持一致,便于转换后进行数据查看。
(3)Value字段:为转换后数据列定义一个别名,用来存储转换后数据。注:当与“字段名称”字段名一致时,会自动生成副本字段名;如:源字段名为code,该列也输入为code,该列输出字段名实际为code_1。
接下来通过实例再次进行说明:
输入行集结构:
图2输入表结构
行转列设置:
图3步骤设置
输出表结构:
图4输出结构和数据
通过上例:所选的三个源字段Basic salary、performance、Overtime pay,转换后组装为“Value字段”中设置的第一个名称:a。2行变成了6行,“Value字段”设置的其他名称b、c无意义。
文章原创首发于:https://ckettle.ccsaii.com.cn/help/StepPluginType/Normaliser?s=csdn
更多CKettle内容,欢迎点击上述链接学习。