ETL高级查询是可以将数据源表或者数据集中的数据进行清洗、聚合、关联和合并等操作,并将加工后的数据输出,能够快速的完成数据准备。
2、示例说明
2.1 示例1-数据合并
当需要把不同来源(不同系统,或不同业务结构)的数据合并到一起时,写SQL UNION的方式需要完全匹配所有目标结构的字段类型、长度、字段名等,当出现某些字段不需要映射时会使SQL脚本报错;这个时候可以通过ETL高级查询的“合并行”节点进行处理,”合并行“是将多张表的数据按行合并成一个新表,缺失的列以“null”值填充
以产品自带northwind数据库的【订单表】、【订单详细表】进行合并,最终效果图如下:
具体的操作步骤如下:
1、先把“关系数据源”节点拖入到画布中,并且给节点配置数据源、SCHEMA、表名;依次选择northwind、default、订单表;配置好了之后,右键菜单“复制”,复制一个关系数据源节点,重新选择表名:订单详情表;再拖入“合并行”,并且连接起来:如下图
2、选择“合并行”节点的“选择列”,用于设置各表的字段对应关系,同别名+同数据类型的会默认进行匹配;如果匹配不上默认“忽略”,即显示null;详情可查看:合并行
3、输出到Mpp,执行成功之后,点击【保存】并且返回到数据模型;可以看到在模型中生成了一个大宽表:
ETL高级查询目前只支持抽取模型! 如果数据模型原来是直连模式,增加ETL高级查询之后,会强制变成抽取模式。 |