多个子表单汇总
1. 简介
1.1 案例简介
本文将介绍,如何将多个子表单的多行数据,根据某字段分类汇总至一个子表单中,实现多个子表单的内容合并与计算。
1.2 应用场景
- 员工、部门年度评价场景中,需通过各个维度对员工、部门进行评价打分,可通过多个子表单汇总计算各维度的汇总分值;
- 进销存场景 中,同一批货物需安置在不同仓库中,可通过多个子表单汇总计算各仓库的入库总数等。
1.3 设计思路
1)在需要汇总的多个子表单中,分别汇总出各行的「部门+扣分」;
2)在主表中对所有子表单的「部门」进行去重,只保留不重复的「部门」;
3)在主表中计算出去重后的「部门」的数量,作为汇总子表单的行数;
4)在主表中汇总全部「部门+扣分」的集合,连接成一个字符串,便于后续计算数量;
5)通过字符串分割去重后的「部门」,分别填充至汇总表的各行子表单中;
6)通过该行子表单的部门和字符串“+”、“,”将「部门+扣分汇总」进行分割,再通过 SUM 函数将扣分相加即为对应的扣分总数。
1.4 预期效果
在「部门评分表」的各评价维度中,录入各个部门及其扣分分值,即可在汇总表中将同一部门的扣分分值汇总,效果如下:点击体验效果
注:由于安装模板时限制单个表单数据最多为 100 条,故安装模板时,需要重新按照【2.2 「子表单基础表」录入数据】的步骤录入数据,否则将无法实现预期效果。
2. 设置步骤
在学习之前建议安装 多个子表单内容汇总 应用模板,本文将按照模板中的示例数据进行讲解。
以部门评分的场景为例:
2.1 表单搭建
1)新建「部门评分表」表单,字段设置如下:
字段名称 | 字段类型 |
销售额完成率 | 子表单 |
部门 | 子字段-下拉框 |
扣分 | 子字段-数字 |
部门+扣分 | 子字段-单行文本 |
复购完成率 | 子表单 |
部门 | 子字段-下拉框 |
扣分 | 子字段-数字 |
部门+扣分 | 子字段-单行文本 |
服务质量评价 | 子表单 |
部门 | 子字段-下拉框 |
扣分 | 子字段-数字 |
部门+扣分 | 子字段-单行文本 |
部门去重 | 单行文本 |
部门个数 | 数字 |
部门+扣分汇总 | 单行文本 |
汇总表 | 子表单 |
序号 | 子字段-数字 |
部门 | 子字段-单行文本 |
扣分 | 子字段-数字 |
2)新建「子表单基础表」辅助表单,字段设置如下:
字段名称 | 字段类型 |
总行数 | 数字 |
子表单 | 子表单 |
序号 | 子字段-数字 |
数字 | 子字段-数字 |
2.2 「子表单基础表」录入数据
1)在「子表单基础表 >> 数据管理 >> 导入」处导入附件中的示例数据:200行子表单基础表序号全集.xlsx。
2)导入数据时需确认示例数据和表单字段的关联关系如下:
2.3 设置数据联动
1)进入「部门评分表」表单,选中「汇总表」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:
2)进入数据联动设置页面,设置内容如下:
- 联动表单:「子表单基础表」;
- 条件设置为:「总行数」等于「部门个数」;
- 触发联动:
- 「汇总表」字段显示「子表单」字段的值;
- 添加「序号」子字段,显示为「序号」子字段的值;
全部设置完成点击「确定」。
2.4 设置公式
1)选中「销售额完成率.部门+扣分」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:
2)在公式编辑页面,设置「销售额完成率.部门+扣分」的公式如下:CONCATENATE(销售额完成率.部门,"+",销售额完成率.扣分,","),表示将销售额完成率子表单每行的部门、扣分和字符串通过 CONCATENATE 函数连接起来。
设置好记得点击「确定」保存。
3)按照同样的方法,设置其他字段的公式如下:
字段名称 | 公式 | 公式含义 |
复购完成率.部门+扣分 | CONCATENATE(复购完成率.部门,"+",复购完成率.扣分,",") | 将复购完成率子表单每行的部门、扣分和字符串通过 CONCATENATE 函数连接起来 |
服务质量评价.部门+扣分 | CONCATENATE(服务质量评价.部门,"+",服务质量评价.扣分,",") | 将服务质量评价子表单每行的部门、扣分和字符串通过 CONCATENATE 函数连接起来 |
部门去重 | UNION(销售额完成率.部门,复购完成率.部门,服务质量评价.部门) | 对所有子表单中的部门进行去重,只保留不重复的部门 |
部门个数 | COUNT(SPLIT(部门去重,",")) | 计算去重后的部门数量,用于作为汇总子表单的行数 |
部门+扣分汇总 | CONCATENATE(销售额完成率.部门+扣分,复购完成率.部门+扣分,服务质量评价.部门+扣分) | 将所有子表单中的部门+扣分通过 CONCATENATE 函数连接起来 |
汇总表.部门 | SPLIT(部门去重,',')[汇总表.序号-1] | 通过逗号分割去重后的部门,再根据子表单序号取出对应的部门 |
汇总表.扣分 | SUM(SPLIT(CONCATENATE(SPLIT(部门+扣分汇总,CONCATENATE(汇总表.部门,"+"))), ",")) | 通过该行子表单的部门和字符串“+”、“,”将「部门+扣分汇总」进行分割,再通过 SUM 函数将扣分相加即为对应的扣分总数 |
2.5 设置字段显隐规则
1)对于表单中的如下辅助字段,可以在「字段属性 >> 字段权限」处设置字段为不可见:
- 销售额完成率:部门+扣分
- 复购完成率:部门+扣分
- 服务质量评价:部门+扣分
- 部门去重、部门个数、部门+扣分汇总
2)在「表单属性 >> 不可见字段赋值」处,设置赋值规则为「始终重新计算」:
2.6 效果演示
效果演示参见本文【1.4 预期效果】。