行列转换算子

  • Last update:  2022-06-28
  • 1. 概述

    1.1 版本

    FineBI 版本功能变更
    6.0-

    1.2 应用场景

    用户处在以下场景时:

    • 某 DW 层表存在多个指标(如销售额、营业收入、营业成本、毛利),针对各产品,需要单独看各指标分析结果。

    •  数仓建设场景下,在客户业务库设计不合理时,比如业务表将月份1、2、3作为三个字段存储。

    此时可通过 ETL 做列转行计算。

    1.3 功能简介

    可以对输入的二维表进行列转行操作,输出一维表。

    2. 功能介绍

    行列转换」算子,可实现列转行功能。界面如下图所示:

    2.1 转换配置界面

    「转换配置」界面具体设置项介绍如下表所示:

    设置项介绍
    转换种类目前只支持列转行功能;行转列功能敬请期待
    属性字段名称

    列转行时,指定此属性字段名称,对所选择的需要列转行的多个字段名,进行归类描述。要求:

    • 不允许为空

    • 字符长度<=30字符

    • 只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、或中文的组合

    • 不能包含空格

    • 不能与取值字段及原表去除转换字段外的其他字段名重复

    取值字段名称列转行时,指定取值字段名称,将所选择的需要列转行的字段值放入该列。字段名称要求与「属性字段名称」要求相同
    转换字段设置

    点击「选择转换字段」,指定可编辑列表中「转换字段」列和「新建行值」列。如下图所示:

    「新建行值」列可编辑、删除

    2.2 数据预览界面

    「转换配置」界面设置好之后,点击「数据预览」Tab,可预览列转行后的数据。如下图所示:

    3. 示例

    3.1 场景模拟

    用户「成绩」表数据如下图所示:

    示例数据下载:成绩.xls

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

    3.2 创建任务

    创建一个 ETL 任务,将一个数据转换节点拖到设计界面。如下图所示:

    3.3 设置数据输入

    点击「数据转换」节点,将一个DB表输入算子拖到数据转换的设计界面,如下图设置数据来源,SQL 语句取出成绩表中所有数据。如下图所示:

    3.4 设置行列转换

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

    点击「行列转换」算子对它进行设置。如下图所示:

    3.5 设置DB表输出

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

    点击「DB表输出」算子对它进行设置。如下图所示:

    3.6 运行任务

    1)点击右上角「确定」按钮。如下图所示:

    2)点击右上角保存并运行,日志有执行成功信息表示任务成功运行。如下图所示:

    可以看到数据库 etlwendy 中新增了一张表 hanglie,为列转行后数据。如下图所示:

    4. 注意事项

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

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

    Attachment List


    Theme: 数据开发
    前の記事
    次の記事
    • いいね
    • 良くない
    • 閲覧しただけ

    フィードバック

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    9s后关闭

    反馈已提交

    网络繁忙