最新历史版本 :列转行 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]13447[/helpvideo]

1.1 版本

FineDataLink 版本功能变动
3.5「数据转换」节点新增算子「行列转换」,目前支持列转行功能,行转列功能敬请期待
4.0.14行转列和「列转行」拆分
4.0.30「转换字段设置」中,支持同类型&同精度的字段全选

1.2 应用场景

将多个列的表头作为字段值,合并到一个新列中,从而实现对多种指标的归纳和总结,方便进行分析和展示。

例如,将「语文、数学、英语」的表头名字作为字段值,合并到一个新的「科目」列中。如下图所示:

3.png

1.3 功能说明

「数据转换」节点新增算子「列转行」算子,可实现列转行功能。如下图所示:

13.png

2. 操作步骤编辑

2.1 场景模拟

示例数据:成绩.xls

示例数据如下图所示:

1724378832742055.png

希望表数据按照姓名科目分数展示。如下图所示:

1724379052288314.png

2.2 数据输入

1)新建一个定时任务,将数据转换节点拖到设计界面,进入数据转换节点。

2)拖入DB表输入算子,取出成绩表中的数据。如下图所示:

6.png

点击「数据预览」,即可预览数据。如下图所示:

1724379235186453.png

2.3 列转行

1)新增「列转行」算子,使用线条跟它的上游「DB表输入」算子相连。

2)设置属性字段名称为「科目」,也就是希望将语文、数学、英语、化学这些数据归类为「科目」字段;设置取值字段名称为分数,即将不同「科目」对应的分数值命名为「分数」;点击「选择转换字段」,指定需要进行列转行的字段。如下图所示:

8.png

设置项说明
属性字段名称不允许为空,字符长度<=30字符,只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合,不能包含空格,不能与「取值字段名称」及原表去除转换字段外的其他字段名重复
取值字段名称不允许为空,字符长度<=30字符,只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合,不能包含空格,不能与「属性字段名称」及原表去除转换字段外的其他字段名重复
转换字段设置
  • 未选择字段时,「全选」按钮不显示

  • 勾选某个字段后,「全选」按钮显示,支持同类型&同精度的字段全选

  • 「新建行值」列中,支持删除字段、修改字段名称

  • 「转换字段」不允许为空,不允许重复;「新建行值」限制长度<=200字符,不允许为空

3)点击「数据预览」,即可看到列转行后的数据。如下图所示:

1724379583673001.png

2.4 输出数据

1)再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「行列转换」算子相连。

设置将处理好的数据输出至指定的数据库中,如下图所示:

10.png

3)写入方式选择直接将数据写入目标表

2.5 效果查看

1)运行任务,任务运行成功后,日志如下图所示:

11.png

2)目标表数据如下图所示:

1724381839858297.png

3. 注意事项编辑

列转行时,列值有NULL或空字符串。如下图所示:

15.png

列转行后,对应取值字段的值输出NULL。如下图所示:

16.png