1、示例描述
公司业务人员在对“产品销售数据”收集整理时,发现存在以下问题:
- 订单表数据未更新:由于公司疫情调整,华南、华东地区的仓库暂停发货;原华南订单由华北发货,华东订单由华中发货。
- 订单明细表未去重:在订单明细表中,发现有部分数据重复,将会影响分析结果。
- 数据未排序:为了能直观分析相关业务数据,订单表需按“运费”进行降序排序;订单明细表按“Quantity”进行升序排序。
为了更好地解决上述问题,将通过自助ETL对订单表、订单明细表进行数据预处理!
2、入口及界面
Smartbi侧边栏点击数据准备,打开数据准备界面后选择自助ETL,即可开始新建:
入口 | ETL界面 |
---|---|
3、订单表数据预处理
接下来按照示例描述,对订单表节点进行”值替换“、”降序“和”增加序列号“处理。
关系数据源
(1)数据源下,拖入关系数据源节点至画布区
(2)对关系数据源进行配置:参数中,数据源选择“wiki_test1",表选择”订单表“,列选择全部字段;属性中,节点别名改为”订单表“。
(3)配置完成后,右键节点,执行该节点及查看输出结果
执行入口 | 执行效果 | |
---|---|---|
值替换
(1)拖入”数据清洗“节点,从”订单表“节点下方圆圈处拖出连接线与其连接
(2)对节点进行条件配置:
- 选择字段:区域,处理方式为:值替换,原值为:华南,新值为:华北;
(3)运行“数据清洗”节点,区域字段的真名为ShipRegion,值替换后会生成一个名为ShipRegion_handler的字段。
(4)拖入一个新的”数据清洗“节点,从前一个”数据清洗“节点下方圆圈处拖出连接线与其连接。
(5)对节点进行条件配置:
- 选择字段:ShipRegion_handler,处理方式为:值替换,原值为:华东,新值为:华中;
(6)运行新的“数据清洗”节点
降序
(1)拖入”排序“节点,从”数据清洗“节点下方圆圈处拖出连接线与其连接
(2)对节点进行条件配置:字段选择“运费”,排序方式选择“降序”;
(3)右键节点,执行该节点及查看输出结果
增加序列号
(1)拖入”增加序列号“节点,”排序“节点下方圆圈,拖出连接线与其连接
(2)右键节点,执行该节点及查看输出结果
选择目标源(输出)
(1)拖入”关系目标表(追加)“节点,从”增加序列号“节点下方圆圈处拖出连接线与其连接
(2)对节点进行配置:数据源选择:wiki_test1;表选择新建表,表名为:orders_pretreatment。
点击创建表,创建成功后弹出窗口“orders_pretreatment表创建成功”
(3)右键节点,执行节点及查看输出结果
保存ETL
对本次ETL处理进行保存,名称为:wiki_demo1
4、订单明细表数据预处理
接下来按照示例描述,对订单明细表进行”去除重复值“、”升序“和”增加序列号“处理。
关系数据源
(1)数据源下,分别拖入关系数据源节点至画布区,并对关系数据源进行配置:参数中,数据源选择“wiki_test1",表选择”订单明细表“,列选择全部字段;属性中,节点别名改为”订单明细表“。
(2)配置完成后,右键节点,执行该节点及查看输出结果。
去除重复值
(1)拖入”去除重复值“节点,”订单明细表“节点下方圆圈,拖出连接线与其连接
(2)选择列:”OrderID“列进行去重处理
(3)右键节点,执行节点及查看输出结果
升序
(1)拖入”排序“节点,从”去除重复值“节点下方圆圈处拖出连接线与其连接
(2)对节点进行条件配置:字段选择“Quantity”,排序方式选择“升序”;
(3)右键节点,执行节点及查看输出结果
增加序列号
(1)拖入”增加序列号“节点,”排序“节点下方圆圈,拖出连接线与其连接
(2)右键节点,执行节点及查看输出结果
选择目标源(输出)
拖入”关系目标表(追加)“节点,从”增加序列号“节点下方圆圈处拖出连接线与其连接,重复上述订单表(1)-(3)步的操作,新建表名为:orderdetails_pre;执行及输出结果如下所示:
保存ETL
对本次ETL处理进行保存,名称为:wiki_demo2
5、订单表数据预处理
返回数据源wiki_test1的表列表,可看到成功处理后的表:orders_pretreatment、orderdetails_pre
至此,关于产品系列数据的预处理已完成,接下来您可以基于处理好的数据,进入到业务主题、数据模型的创建阶段
6、资源参考
(1)上述快速进行ETL预处理的示例资源,可参考快速创建自助ETL.xml
(2)若您想深入了解自助ETL相关内容,可参考以下文档:
- 自助ETL详情可参考:自助ETL
- 自助ETL更多示例可参考自助ETL-应用示例