跳到主要内容

如何实现表格数据去重统计

场景/功能描述

原文画板

思路流程

方法一:Q-Robot

原文画板

方法二:代码块

原文画板

配置过程

表单和流程设计(方法一)

A应用

主表单:销售单号填入

表格:商品名称、销售地区、销售数量填入

image.png

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

image.png

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

image.png

中间应用

主表单:销售单号、商品名称自动传入

销售数量自动关联

关联A应用的“销售数量”,筛选同一销售单号和商品名称,聚合方式求和

去重校验自动关联

关联当前应用即中间应用的“商品名称”,筛选同一销售单号和商品名称,聚合方式计数

若结果不为空,那就出现了重复。

image.png

image.png

因销售数量和去重校验,不是通过Q-Robot自动传入的数据,因此需要开启提交重新计算。

去重校验字段,需要设置提交校验:ISEMPTY(去重校验) 仅当为空时,才允许通过。

截屏2022-09-09 上午11.38.20.png

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

image.png

image.png

B应用

image.png

代码块和公式(方法二)

代码块去重

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),需要根据运行结果得到数据后,手动更改为应用内的字段代码。

截屏2022-09-09 下午1.29.55.png

截屏2022-09-09 下午1.22.12.png

截屏2022-09-09 下午1.27.26.png

image.png

image.png

公式汇总

B表格的“销售数量”

使用公式计算= SUMIF(A·商品名称, B·商品名称, A·销售数量)

image.png

实现效果

方法一

image.png

image.png

方法二

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

image.png