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 | 华南地区 |