跳到主要内容

如何实现应用数据的去重计数?

场景/问题描述

由于目前数据关联只有已填计数和未填计数,并没有去重计数该功能

image.png

比如我想要计数产品名称有多少个产品,去重之后为2个

思路逻辑

通过代码块调用获取应用数据之后再进行筛选去重计算

配置过程

这里仅仅演示获取某个应用的数据去重

代码与测试

代码注释

URL:换成获取应用数据接口,其中需要替换是appkey

accesstoken:拓展插件——openAPI

queid:换成数据关联字段的字段ID

item:换成数据关联字段的字段名称

完整代码

const axios = require('axios');
let data = JSON.stringify({
"pageSize": "5000",
"pageNum": "1"
});

let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.qingflow.com/app/1c53385d/apply/filter',
headers: {
'accessToken': '8121b22f-40b4-40d6-a8cf-a863962ef***',
'Content-Type': 'application/json'
},
data: data
};

async function fetchData() {
const res = await axios(config);
var msg = res.data;
var result = msg.result.result;
var res_list = [];

result.forEach((value, index) => {
var res_msg = new Map();
var answers = value.answers;
answers.forEach((value, index) => {
var queId = value.queId;
var queTitle = value.queTitle;
if (queId == 160418421) {
var values = value.values;
var dataValue = values[0].dataValue;
res_msg[queTitle] = dataValue;
res_list.push(res_msg);
}
});
});

return res_list;
}

fetchData().then((res_list) => {
// 去重计数
const uniqueCount = new Set(res_list.map((item) => item["产品名称"])).size;
qf_output={uniqueCount}

});

解析规则与字段配置

image.png

image.png

实际效果

image.png