1.9 KiB
1.9 KiB
マッチング(1:N) 数据生成规则
概要
2个输入文件,R01为主驱动,R02为从侧。1件R01可对应多件R02(1:N)。
输入
- 输入文件:2个(R01主驱动、R02从侧)
- 前提条件:双方按key升序排序
- 核心逻辑:EVALUATE TRUE 3分岐(R01key<R02key / = / >)
生成的数据组
| 组 | 用途 | R01记录数 | R02记录数 | 说明 |
|---|---|---|---|---|
| 1 | 1:1匹配 | 3 | 3 | 全部1:1匹配,中间R01-only和R02-only |
| 2 | 1:N匹配 | 3 | 5 | R01有1:N匹配(同key多条R02) |
| 3 | R02-先结束 | 3 | 2 | R01先结束,第一条数据的R01key<第一条的r02数据 |
| 4 | R02-only | 2 | 4 | R02先结束,第一条数据的R01key>第一条的r02数据 |
组1:1:1匹配
R01: a001→a002→a003 R02: a001→a002→a003
records按处理顺序:
| record序号 | 内容 | 说明 |
|---|---|---|
| 1 | R01(a001)+R02(a001) | 匹配 |
| 2 | R01(a002)+R02(a002) | 匹配 |
| 3 | R01(a003)+R02(a003) | 匹配 |
组1:需要注意当key为n个项目组合而成时,在R01的最后需要加上n条数据。 和R02(a003)的所有key相比,只有当前第n个key与R02(a003)的key不一致。保证key的比较没有问题。
组2:1:N匹配
R01: a001→a002→a003 R02: a001→a002→a002→a002→a003 (同key有3条)
records按处理顺序:
| record序号 | 内容 | 说明 |
|---|---|---|
| 1 | R01(a001)+R02(a001) | 匹配(第1件) |
| 2 | R01(a002)+R02(a002) | 匹配(第1件) |
| 3 | R01(a002)+R02(a002) | 匹配(第2件) |
| 4 | R01(a002)+R02(a002) | 匹配(第3件) |
| 5 | R01(a003)+R02(a003) | 匹配 |
组3:R02-先结束
R01: a001→a002→a003 R02: a002→a002
records:全部R01-only
组4:R01-先结束
R01: a002→a003 R02: a001→a002→a003→a004
records:R01(a001)→R02(b001~b004)→R01(a002)
输出
每组一个json文件:{プログラムID}_g{groupId}.json