字段聚合

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

常见问题

如何选择合适的源实体?

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

性能优化建议

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

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