自助ETL的主要应用场景是将多来源的异构数据,进行处理后得到具备完整性、一致性的数据模型。使用自助ETL可以提高数据的质量、适应不同的数据分析方法。
想要将三个数据来源的表进行关联并处理表中的一些数据,处理完成后将数据输出到一张新的表中。
1、需要关联的的表:
- 第一张表为本地Excel导入新增的表;
- 第二张表为通过SQL脚本构建供应商信息数据的表;
- 第三张表为Northwind数据源下的供应商表。
2、需要处理的数据:
- 去除点产品名称字段的空值;
- 去除销售额字段的小数位;
- 需要一个字段同时包含了产品大类名称和产品名称;
- 增加序列字段。
需求场景1:数据预处理
想要对产品的销售情况进行分析,数据源中有一张产品销售表,先根据需求对数据进行处理,然后进行数据分析。
实现方案
数据基础
数据源中“产品销售表”的数据预览如下:
操作步骤
1、在系统主界面的快捷菜单中选择 数据准备 > 自助ETL
,进入“新建ETL”定制界面。
2、在“自助ETL”管理界面中,选择 新建自助ETL 按钮,进入“新建ETL”定制界面。
3、可在此界面设计定制ETL工作流。
2、在此界面可以设计定制ETL工作流。
数据源
1、将关系数据源节点拖入画布区。在节点配置区设置关系数据源的参数,选择刚才导入的Excel表的关系数据源、SCHEMA、表名。
1、将关系数据源节点拖入画布区,在节点配置区设置关系数据源的参数。
2、在关系数据源上右键选择 执行到此处 ,运行当前节点。
3、点击查看输出,可查看表的数据。
4、产品销售数据表的数据如下:
3、点击查看输出,可查看关系数据源节点输出的数据,如下:
将表的数据导入当前工作流完成,下面对数据进行 数据预处理 。
数据预处理
需要在表中添加序号,并去除采购金额字段的小数位。
1、将增加序列号节点拖入画布区,连接两个节点,设置序列列名称。
2)勾选产品名称字段,点击 到右边 按钮,将产品名称移到右边,然后点击 确定 按钮。
3)在空值处理下拉框中选择 过滤整行 。
4)在空值处理节点上右键,选择 执行到此处,运行当前节点。
2、去除销售额字段的小数位,新建一个字段同时包含了产品大类名称和产品名称。
1)将派生列节点拖入画布区,连接两个节点。在节点配置区选择2、将派生列节点拖入画布区,连接两个节点。在节点配置区选择 派生列配置 按钮。
2)函数选择“四舍五入”函数,字段选择“销售额”字段,分别拖入添加/编辑表达式区。
3)输入派生列名为“销售额取整”,点击 确定 按钮,添加一条派生列,销售额的设置完成。
4)同理,再添加一条派生列“产品”,点击 确定 按钮。
5)在空值处理节点上右键,选择
3、将对应函数和字段分别拖入添加/编辑表达式区,点击 确定 按钮,添加一条“采购金额取整”的派生列。
4、在派生列节点上右键,选择 执行到此处 ,运行当前节点。
查看派生列节点的输出数据如下:
自定义模块
3、使用“SQL脚本”节点构建一张含有供应商信息数据的表。
1)将“SQL脚本”节点拖入画布区,点击 SQL脚本 按钮。
2)在SQL脚本中窗口中,填入对应的SQL语句,静态输入供应商信息。
SQL语句如下:
代码块 |
---|
select * from (
SELECT 1 AS SupplierID,'佳佳乐' AS Suppliername
UNION ALL
SELECT 2 AS SupplierID,'康富食品' AS Suppliername
UNION ALL
SELECT 3 AS SupplierID,'妙生' AS Suppliername
UNION ALL
SELECT 4 AS SupplierID,'为全' AS Suppliername
UNION ALL
SELECT 5 AS SupplierID,'日正' AS Suppliername
UNION ALL
SELECT 6 AS SupplierID,'德昌' AS Suppliername
UNION ALL
SELECT 7 AS SupplierID,'正一' AS Suppliername
UNION ALL
SELECT 8 AS SupplierID,'康堡' AS Suppliername
UNION ALL
SELECT 9 AS SupplierID,'菊花' AS Suppliername
UNION ALL
SELECT 10 AS SupplierID,'金美' AS Suppliername
UNION ALL
SELECT 11 AS SupplierID,'小当' AS Suppliername
UNION ALL
SELECT 12 AS SupplierID,'义美' AS Suppliername
UNION ALL
SELECT 13 AS SupplierID,'东海' AS Suppliername
UNION ALL
SELECT 14 AS SupplierID,'福满多' AS Suppliername
UNION ALL
SELECT 15 AS SupplierID,'德级' AS Suppliername
) Suppliers |
3)在SQL脚本上右键选择 执行到此处 ,运行当前节点。
4、将处理好的产品销售明细表和供应商信息表,通过供应商编码连接起来。
1)选择JOIN节点,拖入画布区。
2)设置左表关联的字段如图:
3)设置右表关联的字段如图:
4)连接类型选择内连接,关联条件选择供应商ID和SupplierID。
5)在JOIN节点上右键选择 执行到此处 ,运行当前节点。
5、将关系数据源northwindETL的顾客表导入流程中。
6、将合并的两张表与顾客表通过顾客编码连接起来。
7、增加序列号,序列列名称为“序号”。
数据预处理完成,下面将处理好的数据输出。
目标源
将处理好的数据输出成一张新的表。
1、将关系目标源节点拖入画布区,选择输出表的数据源、SCHEMA,并选择 新建表 按钮。
2、新的表命名为“产品销售数据表”,点击 创建表 按钮。
3、点击 运行 按钮,创建一张新的表。
流程运行完成后,关系目标源节点输出的数据如下:
在数据源中查看刚才创建的“产品销售数据表”表,预览表中的数据如图:
使用自助ETL处理数据完成,下面可对产品销售情况进行数据分析,详情请参考 可视化与分析数据 。
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |