1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
3.5 | 「数据转换」节点新增算子「行列转换」,目前支持列转行功能,行转列功能敬请期待 |
4.0.14 | 行转列和「列转行」拆分 |
4.0.30 | 「转换字段设置」中,支持同类型&同精度的字段全选 |
1.2 应用场景
将多个列的表头作为字段值,合并到一个新列中,从而实现对多种指标的归纳和总结,方便进行分析和展示。
例如,将「语文、数学、英语」的表头名字作为字段值,合并到一个新的「科目」列中。如下图所示:
1.3 功能说明
「数据转换」节点新增算子「列转行」算子,可实现列转行功能。如下图所示:
2. 操作步骤
2.1 场景模拟
示例数据:成绩.xls
示例数据如下图所示:
希望表数据按照姓名、科目、分数展示。如下图所示:
2.2 数据输入
1)新建一个定时任务,将「数据转换」节点拖到设计界面,进入「数据转换」节点。
2)拖入「DB表输入」算子,取出「成绩」表中的数据。如下图所示:
点击「数据预览」,即可预览数据。如下图所示:
2.3 列转行
1)新增「列转行」算子,使用线条跟它的上游「DB表输入」算子相连。
2)设置属性字段名称为「科目」,也就是希望将语文、数学、英语、化学这些数据归类为「科目」字段;设置取值字段名称为「分数」,即将不同「科目」对应的分数值命名为「分数」;点击「选择转换字段」,指定需要进行列转行的字段。如下图所示:
设置项 | 说明 |
---|---|
属性字段名称 | 不允许为空,字符长度<=30字符,只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合,不能包含空格,不能与「取值字段名称」及原表去除转换字段外的其他字段名重复 |
取值字段名称 | 不允许为空,字符长度<=30字符,只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合,不能包含空格,不能与「属性字段名称」及原表去除转换字段外的其他字段名重复 |
转换字段设置 |
|
3)点击「数据预览」,即可看到列转行后的数据。如下图所示:
2.4 输出数据
1)再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「行列转换」算子相连。
设置将处理好的数据输出至指定的数据库中,如下图所示:
3)写入方式选择「直接将数据写入目标表」。
2.5 效果查看
1)运行任务,任务运行成功后,日志如下图所示:
2)目标表数据如下图所示:
3. 注意事项
列转行时,列值有NULL或空字符串。如下图所示:
列转行后,对应取值字段的值输出NULL。如下图所示: