在创建多对多规则的过程中使用子集

通过多对多匹配类型的子集规则,可以将一个数据源中的一个或多个事务与另一个数据源中的所有事务子集进行匹配。指定的容差限制应用于这两个数据源。

“多对多,有子集”规则示例

考虑一个包含两个数据源(POS 作为源系统,银行作为子系统)的匹配类型。下表显示了此示例所需的一组有限事务。

Table 10-6 源系统事务

事务 ID 门店 ID 事务日期 金额
10001 7959 2021 年 7 月 15 日 983
20001 7959 2021 年 7 月 14 日 637
30001 7959 2021 年 7 月 11 日 288
40001 7959 2021 年 7 月 10 日 500
50001 7959 2021 年 7 月 9 日 818

Table 10-7 子系统事务

事务 ID 门店 ID 事务日期 金额
19999 7959 2021 年 7 月 14 日 -475
29999 7959 2021 年 7 月 16 日 2095
39999 7959 2021 年 7 月 15 日 -725

请注意,源系统中事务 ID 为 10001 和 20001 的事务的金额相加为 1620,尽管这些事务的日期不完全匹配。子系统中事务 ID 为 19999 和 29999 的事务的金额相加也是 1620。

考虑与金额和门店 ID 完全匹配的规则条件,锚定日期,然后对日期应用指定的容差限值。假设指定的容差为 + 或 - 1 天。在此示例中,考虑日期为 2021 年 7 月 15 日的第一个源系统事务。如果您使用无子集的多对多规则,则与规则条件相匹配的源系统事务为 ID 10001 和 20001 的事务,它们的金额相加为 1620。在子系统中,所有事务都与规则条件相匹配,它们的金额相加为 895。这不会导致完全匹配。但是,当您使用“多对多,有子集”规则时,子系统事务的所有可能子集都基于指定的匹配规则创建。这会导致子系统中事务 ID 为 19999 和 29999 的子集与源系统中的事务 ID 10001 和 20001 匹配。

指定“多对多,有子集”规则

要创建“多对多,有子集”规则,必须:

  • 有子集中选择数据源
  • 中至少包括一个属性
此图显示“多对多,有子集”规则的“新建规则”对话框

可以将子集规则应用于源系统或子系统。在“新建规则”对话框中,使用有子集选择必须应用子集规则的数据源。另一个数据源用作要应用指定容差限值的锚点。例如,您的匹配类型有两个数据源:银行和 POS。如果您在有子集下选择“银行”,则会将子集规则应用于银行,并将银行中的事务子集与 POS 中的一个或多个事务相匹配。POS 用作锚点,指定的容差限值将应用于 POS 和银行。

在“规则条件”选项卡的“组”部分中,确保为锚定数据至少定义一个组,或者至少定义一个完全匹配规则条件。要定义组,请在“组”部分中,从锚定的数据源中选择一个或多个属性。请注意,在“有子集”中选择的数据源禁用了分组。

注意:如果未在“有子集”中选择数据源,则行为与无子集的多对多规则类型相同。