概述
统计字段用于汇总从对象或查找关联对象下的字段值,将计算结果作为本对象某个字段的值。适用于订单总金额、客户联系次数等需要跨对象汇总统计的业务场景,支持求和、计数、最大值、最小值等多种聚合运算。
使用场景
在许多业务场景中需要统计从对象和查找关联对象下的字段值,统计结果作为本对象下的某个字段的值。例如订单的总金额是订单明细的金额字段值的汇总。
统计字段支持在主从关系的主对象中新建,对从属对象或相关对象本身或某个字段进行统计运算。
配置要点
目标统计对象
可选择从对象和关联对象。
统计类型
| 类型 | 说明 | 示例 |
|---|---|---|
| COUNT(计数) | 统计数据的个数 | 客户下面的联系人数量 |
| SUM(求和) | 统计某个字段的和 | 销售订单下产品的金额合计 |
| MAX(求最大) | 统计某个字段的最大值 | 客户下最大的商机金额 |
| MIN(求最小) | 统计某个字段的最小值 | 客户下最低的销售费用 |
| AVG(求平均) | 统计某个字段的平均值 | 订单产品的平均折扣 |
字段汇总
如果目标统计对象有支持所选统计类型的字段,就可以配置字段汇总,根据需求选择字段即可。
计算规则设置
- 向上取值:保留小数位的后一位 +1。
- 向下取值:保留小数位的后几位直接忽略。
例如:2.124,如果配置显示小数点后两位,向上取值为 2.13,向下取值为 2.12。
过滤条件
- 被统计字段过滤条件引用的字段将不可禁用。
- 过滤条件变更系统需对所有数据重新计算,请勿频繁修改过滤条件。
支持作为统计字段过滤条件的字段类型:文本类、数值类、单选/多选/布尔值、人员/人员多选、部门/部门多选、查找关联、国家省市区、定位。
不支持的字段类型:
- 计算字段:不管计算字段本身是否可筛选,都不支持。
- 统计字段。
- 引用字段:不管引用字段是否可筛选,都不支持。
- 组件字段:支付(收款)组件、签到组件、地区定位、日期范围。
- 业务字段:评星、视频、预约时间段。
- 其他不支持的字段:查找关联多选、富文本、协同富文本、长文本、图片、附件、外部人员、关联业务数据、关联业务对象等。
默认值与必填
默认值
统计字段不支持设置默认值,其值由系统根据统计规则自动计算生成。
必填配置
- 字段级必填:在字段配置页中将"是否必填"设为"是",全场景生效(前台录入和后台导入),未填阻止保存。
- 布局级必填:如果字段仅在特定业务场景下必填,建议在字段属性中设为不必填,转而在特定页面布局编辑器中勾选"必填"。
- 条件必填:如果必填条件依赖其他字段的值,需配置验证规则。
保存时的历史数据计算
点击编辑字段页面的保存时,若数据大于 10 万条,会弹出提示弹窗:
| 选项 | 说明 |
|---|---|
| 现有数据不计算 | 不会计算新建完统计字段之前创建的历史数据 |
| 全部计算 | 会计算该对象下现存的全部数据(数据量大时统计字段的值在一段时间内为空) |
| 符合以下数据范围计算 | 可按需配置条件,系统只对满足条件的数据进行计算 |
数据小于等于 10 万条时不会弹出提示弹窗,系统正常保存。
[!WARNING]
- 当统计字段下某些字段本角色没有权限时,统计字段不计算或计算为空。
- 统计关联对象为异步计算,计算结果可能存在延迟。
查看统计任务进度
新建或编辑统计字段后,因为计算历史数据需要花费的时间较长,系统提供了查看任务进度的入口。当任务执行中和等待中时可以查看统计字段的统计任务执行情况。此时列表会显示 计算任务执行情况 按钮,点击按钮弹出弹窗显示任务状态,展示任务的总数据量、已经完成的数据量和预计任务结束的时间。

常见问题与排查
统计字段没有值或值错误
场景举例:

订单对象中的【订单金额(原币)】字段是统计字段,统计从对象【订单产品】中所有产品的【价格】之和。
截图暂缺:统计字段配置详情。
但在列表页中查看数据时发现【订单金额(原币)】字段没有值。
计算延迟导致的统计字段值为空
- 确认该统计字段是否是新建或重新编辑过的,此时统计字段会重新计算历史数据,但当数据量较大时延迟会比较久,建议耐心等待几小时或一天再查看。
- 当有批量导入或使用按钮等批量修改数据的情况,这种增量统计也会有延迟。
统计字段配置错误
- 目标统计对象配置错误:想统计的是 A 对象但设置为 B 对象,请先检查【目标统计对象】是否正确(此排查方式仅支持排查关联对象,从对象不适用)。
- 字段汇总配置错误:目标统计对象没问题,检查统计的字段是否真的有被统计的数据。
- 数据过滤条件配置错误:检查统计数据范围的过滤条件是否正确。

方式 1:在被统计对象筛选数据,确认好关联字段是哪个,筛选哪条数据关联了统计值不对的数据。

方式 2:查看统计值不对的数据详情页 → 被统计对象的相关列表,看是否有数据。

方式 3:检查被统计数据统计字段的过滤条件是否正确。
被函数覆盖导致的统计字段值错误
统计字段在计算服务算出来是正确的,但可能会被工作流、UI 函数等后续函数并发更新给覆盖掉。建议查看修改记录排查,如果新建/编辑数据后有配置工作流、后动作函数、UI 函数等,需要修改函数修改方案:
// 全量更新(可能覆盖其他字段)
Fx.object.batchUpdate(<apiName>, <objects>)
// 增量更新(推荐,fields 参数指定需要更新的字段列表)
Fx.object.batchUpdate(<apiName>, <objects>, <fields>)
统计关联字段配置错误
需要再次检查统计字段的配置,确认使用被统计对象哪个查找关联字段做的统计关联关系。容易理解错误的场景:
- 客户等对象下的统计字段统计销售记录个数。统计字段用的是销售记录对象上的普通查找关联字段配置的统计关系,但销售记录数据上这个关联字段没填写值,只在关联业务数据字段上关联了客户。
- 人员对象上配置统计字段统计某个人有多少个客户。统计字段使用的应该是客户对象上的查找关联人员字段,而不是客户数据上的负责人字段。
统计字段配置说明(关联对象)
在下拉列表中可以看到对象名称后边有括号的附加信息,这种情况会出现在一个对象下有两个查找关联字段关联了同一个对象的情况,在配置统计字段时需要确认统计用哪个查找关联字段关联的数据。括号中的说明是查找关联字段的相关列表页标题。
如果统计字段的统计对象配置的是某个查找关联字段,那么只有该查找关联字段有值的数据才会被统计到。从关联对象的详情页确认的话,就需要对应的相关列表有数据。
统计字段如何统计到其他字段的内容
先选择目标统计对象和统计类型,如果目标统计对象下有支持所选统计类型的字段就会有字段汇总的选项。如果目标统计对象下没有支持所选统计类型的字段就不会有字段汇总的选项。选择完目标统计对象和统计类型后,出现字段汇总的选项,选择字段即可。
统计字段的时效性
- 统计字段不是实时更新的:统计字段在后台程序队列中异步计算,不是实时更新,存在一定的延迟,延迟时间与队列中排队的任务数有关。购买了独立数据库的租户会分配独立的计算队列。
- 多条数据:统计字段是新建或重新编辑过的,会重新计算历史数据,数据量大时延迟较久。批量导入或按钮批量修改数据时增量统计也有延迟。
- 单条数据:当被统计的对象数据提交成功以后(完成新建或编辑),统计字段开始计算。
- 最后修改时间:数据中的统计字段、引用字段、计算字段的值变更,其他类型字段值未发生任何变更时,数据的最后修改时间不变。
统计字段和布局配置的汇总字段计算结果不一致
统计字段是直接使用数据库里的值求和的,列表页是使用格式化小数以后的值求和的,所以如果数据库里存储了多余的小数位,则这两种场景下汇总出来的值可能会不一致。
示例:金额字段配置保留两位小数,有统计字段对其进行统计且保留两位,列表页对金额进行汇总。
列表汇总(先四舍五入再合计):
| 原始值 | 四舍五入 |
|---|---|
| 7580.94679 | 7580.95 |
| 3925.088338 | 3925.09 |
| 51323.718268 | 51323.72 |
| 58677.945154 | 58677.95 |
| 20192.24145 | 20192.24 |
| 合计 | 141699.95 |
统计字段(先合计再四舍五入):
原始值合计:7580.94679 + 3925.088338 + 51323.718268 + 58677.945154 + 20192.24145 = 141699.94
| 方式 | 结果 |
|---|---|
| 先四舍五入再合计(列表汇总) | 141699.95 |
| 先合计再四舍五入(统计字段) | 141699.94 |
小数位数配置说明
- 函数可以写入大于小数位数的数字,即使配置了 2 位,实际值也可能是 3 位、4 位等,函数写入数值时要先进行小数位数格式化。
- 小数位数配置只在页面填写时限制,如果是函数回填在页面的数据超过小数位数限制,目前 Web 端不拦截,移动端拦截。
- 数值字段的实际小数位数超过配置的位数,页面依旧按配置的小数位数展示。
Excel 合计与统计字段不一致
导出列表页数据自己用 Excel 计算得出被汇总的字段,再与统计字段值比较,也会不一样。需要考虑是先四舍五入再合计还是先合计再四舍五入。如果 Excel 中的字段是 Excel 公式中计算出来的,建议先调整较大的小数位数观察效果。