# マッチング(1:N) 数据生成规则 ## 概要 2个输入文件,R01为主驱动,R02为从侧。1件R01可对应多件R02(1:N)。 ## 输入 - 输入文件:2个(R01主驱动、R02从侧) - 前提条件:双方按key升序排序 - 核心逻辑:EVALUATE TRUE 3分岐(R01key) ## 生成的数据组 | 组 | 用途 | 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`