7.4 数据集组合
7.4.1 行拼接
同业务的数据,可能来自不同的下属公司、门店,即便在同一组织,也存在不同数据源的数据集,例如超市的现金支付、银联支付、移动支付等,导致决策者、IT部门在末端获得的数据集众多,行拼接则可以把同业务不同来源的数据拼接在一起。首先通过之前的“选择列”对一批数据进行规范化处理,后续以此规范化的数据集为保留版,将其他同业务数据通过“行拼接”,获得清洗、规范、全面的数据集。
数据集1
订单号 | 订单量 | 销售部门 |
---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 |
OrdA-20170320-0002A | 300000 | 部门2 |
OrdA-20170320-0003A | 200000 | 部门3 |
OrdA-20170320-0004A | 50000 | 部门4 |
数据集2
订单号 | 订单量 | 销售部门 |
---|---|---|
OrdA-20170320-0005A | 400000 | 部门5 |
OrdA-20170320-0006A | 90000 | 部门6 |
OrdA-20170320-0007A | 150000 | 部门7 |
ETL处理示例:
处理结果为:
订单号 | 订单量 | 销售部门 |
---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 |
OrdA-20170320-0002A | 300000 | 部门2 |
OrdA-20170320-0003A | 200000 | 部门3 |
OrdA-20170320-0004A | 50000 | 部门4 |
OrdA-20170320-0005A | 400000 | 部门5 |
OrdA-20170320-0006A | 90000 | 部门6 |
OrdA-20170320-0007A | 150000 | 部门7 |
7.4.2 关联数据
关联数据可以通俗理解为“列拼接”,不同的是,关联数据需要找到双方数据集中相同的关联列进行拼接;并且拼接的形式也比较多样,最终呈现的数据集也可以自定义列,具体如下:
关联方式 | 特性描述 |
---|---|
内连接 | 仅对关联列中交集行进行连接 |
左外连接 | 默认输出左边所有行,并将右表中,关联列匹配的行进行右连接 |
全连接 | 对关联列中交集行进行连接,与未匹配的行,一并输出 |
ETL处理示例:
下面给出简单的示例加以说明(其中关联列为:销售部门)
订单量-销售部门 表
订单号订单号 | 订单量 | 销售部门 |
---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 |
OrdA-20170320-0002A | 300000 | 部门2 |
OrdA-20170320-0003A | 200000 | 部门3 |
OrdA-20170320-0004A | 50000 | 部门4 |
OrdA-20170320-0005A | 400000 | 部门5 |
OrdA-20170320-0006A | 90000 | 部门6 |
OrdA-20170320-0007A | 150000 | 部门7 |
销售部门-区域 表
部门编号 | 销售部门 | 区域 |
---|---|---|
Sales101 | 部门1 | 华北地区 |
Sales102 | 部门2 | 华北地区 |
Sales103 | 部门3 | 华东地区 |
Sales104 | 部门4 | 华东地区 |
Sales105 | 部门5 | 华东地区 |
Sales108 | 部门8 | 华南地区 |
Sales110 | 部门10 | 华南地区 |
内连接结果(保留所有列):
订单号 | 订单量 | 销售部门 | 部门编号 | 销售部门 | 区域 |
---|---|---|---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 | Sale101 | 部门1 | 华北地区 |
OrdA-20170320-0002A | 300000 | 部门2 | Sale102 | 部门2 | 华北地区 |
OrdA-20170320-0003A | 200000 | 部门3 | Sale103 | 部门3 | 华东地区 |
OrdA-20170320-0004A | 50000 | 部门4 | Sale104 | 部门4 | 华东地区 |
OrdA-20170320-0005A | 400000 | 部门5 | Sale105 | 部门5 | 华东地区 |
左外连接结果(保留所有列):
订单号 | 订单量 | 销售部门 | 部门编号 | 销售部门 | 区域 |
---|---|---|---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 | Sale101 | 部门1 | 华北地区 |
OrdA-20170320-0002A | 300000 | 部门2 | Sale102 | 部门2 | 华北地区 |
OrdA-20170320-0003A | 200000 | 部门3 | Sale103 | 部门3 | 华东地区 |
OrdA-20170320-0004A | 50000 | 部门4 | Sale104 | 部门4 | 华东地区 |
OrdA-20170320-0005A | 400000 | 部门5 | Sale105 | 部门5 | 华东地区 |
OrdA-20170320-0006A | 90000 | 部门6 | |||
OrdA-20170320-0007A | 150000 | 部门7 |
全连接结果(保留所有列):
订单号 | 订单量 | 销售部门 | 部门编号 | 销售部门 | 区域 |
---|---|---|---|---|---|
OrdA-20170320-0001A | 111000 | 部门1 | Sale101 | 部门1 | 华北地区 |
OrdA-20170320-0002A | 300000 | 部门2 | Sale102 | 部门2 | 华北地区 |
OrdA-20170320-0003A | 200000 | 部门3 | Sale103 | 部门3 | 华东地区 |
OrdA-20170320-0004A | 50000 | 部门4 | Sale104 | 部门4 | 华东地区 |
OrdA-20170320-0005A | 400000 | 部门5 | Sale105 | 部门5 | 华东地区 |
OrdA-20170320-0006A | 90000 | 部门6 | |||
OrdA-20170320-0007A | 150000 | 部门7 | |||
Sale108 | 部门8 | 华南地区 | |||
Sale110 | 部门10 | 华南地区 |