字段聚合

字段聚合用于将多条(记录)值聚合到一条(记录)值,例如订单明细中的小计金额聚合(求和)到订单的总计金额,或计算客户的客单价(平均值)等。字段聚合通常应用在 N > 1 关系中,如 N 订单明细 > 1 订单 N 订单 > 1 客户

字段聚合支持对数字字段的聚合计算,提供的聚合方式包括求和、计数、平均值以及计算公式等。

配置触发器

1. 目标实体

更新哪个实体(记录)。源实体与目标实体通过 引用字段 关联,只有存在关联关系的实体才能被选择。

通过字段匹配 V3.8

如果源实体与目标实体之间没有关联关系,可以“通过字段匹配”。例如实体 A 中有物料编号、供应商编号,实体 B 中也有物料编号、供应商编号,即使实体 A、B 之间没有引用字段关联,B 也可以作为目标实体使用。

其关联逻辑为:A 实体(记录)触发时,会通过自身的物料编号、供应商编号到 B 实体中查找一样的记录进行处理。

2. 聚合规则

根据业务需要设置“聚合方式”、“聚合字段”(或“计算公式”),系统会将结果自动填写到“目标字段”中。设置完成后点击 [添加],一个触发器可添加多个聚合规则。

另请参考 聚合方式

3. 聚合数据条件

只有符合条件的数据才会被聚合。例如在求和客户的总成交金额时,只求和有效的订单。

“聚合数据条件”与“附加过滤条件”的差异:

  • “附加过滤条件”决定此触发器是否会被执行
  • “聚合数据条件”决定数据聚合的范围

例如某客户下有 10 笔订单需要聚合,且只聚合有效订单。若在“附加过滤条件”中排除无效订单,当一笔订单从“有效”修改为“无效”后,此触发器不会执行,从而导致本该聚合 9 笔订单的现在仍旧为 10 笔。

4. 自动设置目标字段为只读

将“目标字段”设置无只读模式(即用户不能填写)。

5. 允许强制更新

如果目标实体启用了 审批流程,目标记录可能处于审批只读状态,如不启用此选项可能无法完成更新且不会提示任何错误。

6. 禁用级联执行 V3.8

禁用 级联执行。如您无法确定是否需要禁用,请不要禁用。

7. 目标记录不存在时自动新建 V3.9

本选项仅在“通过字段匹配”时可用,当匹配不到任何记录时将自动新建。

8. 聚合后回填 V3.9

聚合后将聚合后的记录 ID 回填至源记录的字段中。

聚合方式

计算公式

计算公式可以实现复杂的字段值聚合计算。

公式编辑器

  1. 在“聚合方式”中选择“计算公式”
  2. 点击“计算公式”打开公式编辑器
  3. 公式编辑器

连接 V3.3

当目标字段为 多引用多行文本文件 时,您可以使用连接/去重连接/去重连接*N。其具体连接方式为:

  • “多引用”:将源字段的多个 ID 连接为多引用(默认去重)
  • “多行文本”:将源字段的多个值连接为以逗号分割的文本
  • “文件”:将源字段的多个文件(或图片)连接(默认去重)V3.5

常见问题

如何选择合适的源实体?

遵循一个简单原则,要聚合的数据从哪里来,就选择哪个实体作为源实体。相应的,数据到哪里去,就选择哪个实体作为目标实体。

性能优化建议

在不影响业务逻辑的情况下,您可以:

  • 将多个触发器合并到一个触发器执行
  • 设置“附加过滤条件”,过滤不必要的执行
  • 启用“禁用级联执行”,让触发器不引起其他触发器的执行
该文档内容对您是否有帮助?没有
您也可以通过 社区群组 向我们反馈问题
更新时间 2025-01-08
目录