分组聚合与 字段聚合 类似,不同的是其可以通过配置“分组字段关联”进行目标记录匹配(且具备自动新建的能力),不要求“源实体”与“目标实体”有直接的关联关系,仅需存在间接关联即可。例如在统计仓库库存时,需要将仓库、产品同时作为分组字段进行关联。
更新哪个实体(记录)。源实体与目标实体通过 引用字段 关联,只有存在关联关系的实体才能被选择。
通过源实体和目标实体的字段进行关联,找到需要更新的目标记录(若匹配多个仅更新第一个)。请注意对于存在差异的字段,将采用最小匹配原则。例如通过两个日期字段匹配时,A 字段为月,B 字段为日,则按月匹配(以字段的日期格式设置为准);再例如通过分类字段匹配时,A 字段为 3 级,B 字段为 2 级,则按 2 级匹配。
在不影响业务需求的前提下,建议至少设置 2 个分组字段关联,可有效提升此触发器的执行效率
根据业务需要设置“聚合方式”、“聚合字段”(或“计算公式”),系统会将结果自动填写到“目标字段”中。设置完成后点击 [添加],一个触发器可添加多个聚合规则。
另请参考 聚合方式
只有符合条件的数据才会被聚合。例如在求和客户的总成交金额时,只求和有效的订单。
“聚合数据条件”与“附加过滤条件”的差异:
例如某客户下有 10 笔订单需要聚合,且只聚合有效订单。若在“附加过滤条件”中排除无效订单,当一笔订单从“有效”修改为“无效”后,此触发器不会执行,从而导致本该聚合 9 笔订单的现在仍旧为 10 笔。
如通过“分组字段关联”未找到需要更新的目标记录,是否允许自动新建。
将“目标字段”设置无只读模式(即用户不能填写)。
如果目标实体启用了 审批流程,目标记录可能处于审批只读状态,如不启用此选项可能无法完成更新且不会提示任何错误。
聚合后将聚合后的记录 ID 回填至源记录的字段中。
遵循一个基本原则,要聚合的数据从哪里(哪个实体)中来,就选择哪个实体作为源实体。