反馈已提交
网络繁忙
用户处在以下场景时:
某 DW 层表存在多个指标(如销售额、营业收入、营业成本、毛利),针对各产品,需要单独看各指标分析结果。
数仓建设场景下,在客户业务库设计不合理时,比如业务表将月份1、2、3作为三个字段存储。
此时可通过 ETL 做列转行计算。
可以对输入的二维表进行列转行操作,输出一维表。
「行列转换」算子,可实现列转行功能。界面如下图所示:
「转换配置」界面具体设置项介绍如下表所示:
列转行时,指定此属性字段名称,对所选择的需要列转行的多个字段名,进行归类描述。要求:
不允许为空
字符长度<=30字符
只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合
不能包含空格
不能与取值字段及原表去除转换字段外的其他字段名重复
点击「选择转换字段」,指定可编辑列表中「转换字段」列和「新建行值」列。如下图所示:
「新建行值」列可编辑、删除
「转换配置」界面设置好之后,点击「数据预览」Tab,可预览列转行后的数据。如下图所示:
用户「成绩」表数据如下图所示:
示例数据下载:成绩.xls
希望表数据按照科目、分数展示。如下图所示:
创建一个 ETL 任务,将一个「数据转换」节点拖到设计界面。如下图所示:
点击「数据转换」节点,将一个「DB表输入」算子拖到数据转换的设计界面,如下图设置数据来源,SQL 语句取出「成绩」表中所有数据。如下图所示:
再将一个「行列转换」算子拖到设计界面,并使用线条跟它的上游「DB表输入」算子相连。
点击「行列转换」算子对它进行设置。如下图所示:
再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「行列转换」算子相连。
点击「DB表输出」算子对它进行设置。如下图所示:
1)点击右上角「确定」按钮。如下图所示:
2)点击右上角「保存并运行」,日志有执行成功信息表示任务成功运行。如下图所示:
可以看到数据库 etlwendy 中新增了一张表 hanglie,为列转行后数据。如下图所示:
列转行时,列值有NULL或空字符串。如下图所示:
列转行后,对应取值字段的值输出NULL。如下图所示:
フィードバック
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭