如何实现表格数据去重统计
场景/功能描述

思路流程
方法一:Q-Robot

方法二:代码块

配置过程
表单和流程设计(方法一)
A应用
主表单:销售单号填入
表格:商品名称、销售地区、销售数量填入

Q-Robot添加销售单号到B应用,在B应用中创建一条数据。

Q-Robot拆分表格行数据到中间应用,只传入销售单号和商品名称。

中间应用
主表单:销售单号、商品名称自动传入
销售数量自动关联
关联A应用的“销售数量”,筛选同一销售单号和商品名称,聚合方式求和
去重校验自动关联
关联当前应用即中间应用的“商品名称”,筛选同一销售单号和商品名称,聚合方式计数
若结果不为空,那就出现了重复。


因销售数量和去重校验,不是通过Q-Robot自动传入的数据,因此需要开启提交重新计算。
去重校验字段,需要设置提交校验:ISEMPTY(去重校验) 仅当为空时,才允许通过。

数据提交后,Q-Robot更新,实现添加表格行到B应用(商品名称、销售数量)


B应用

代码块和公式(方法二)
代码块去重
var tableA = qf_field.{A$$79665CAD$$};
for(var i =0 ;i< tableA.length ;i++){
for(var j = i+1 ; j< tableA.length ; j++){
if(tableA[i].field_78431747 == tableA[j].field_78431747){
tableA.splice(j,1);
j--;
}
}
}
qf_output = {tableA : tableA}
注:qf_field.{A$$79665CAD$$}需要手动更改为应用的A表格字段;field_78431747是A表格子字段ID(需要去重的字段ID),需要根据运行结果得到数据后,手动更改为应用内的字段代码。





公式汇总
B表格的“销售数量”
使用公式计算= SUMIF(A·商品名称, B·商品名称, A·销售数量)

实现效果
方法一


方法二
前往演示链接:https://qingflow.com/f/a693ac09
