快速汇总多渠道线索数据
Sen
• 发表于:2022-07-27 18:12:32 • 更新于:2023-12-19 10:09:48
918

场景:

现有crm系统中保存了几百条线索数据,每个线索都有一个渠道标识,需要进行分组统计,但渠道太多了,用饼图不好展示,所以需要做成文本的格式(方便复制),效果如下图所示;

快速汇总多渠道线索数据

前期准备:

线索数据表以及样本数据、一张临时表用于选择统计时间范围,示例字段如下。

快速汇总多渠道线索数据

快速汇总多渠道线索数据

实现步骤:

1. 新建一个功能,命名为“分组统计渠道数据”;

2. 新增一个步骤,命名为“选择日期范围”,新增数据类型,选择临时表进行新增;

快速汇总多渠道线索数据

3. 第二步使用编程步骤,编写代码,其中第一步的两个日期作为编程的输入参数;

快速汇总多渠道线索数据

async function runProcess($model = model,$plugin = plugin,$params = params){

    await $model.command("tips",{})//去除功能提交提示

    let start_date = $params.start_date;//开始日期

    let end_date = $params.end_date;//结束日期

    let clue_entity = "612c89b96979d17d3cf7fac1";//线索表entity

    let clue_source = "612c89c66979d17d3cf7fad3";//线索渠道field

    let clue_date = "612c8c176979d17d3cf7fe77";//线索日期field

    let query = {//筛选条件,筛选日期范围,可根据实际需求添加筛选条件

        "$and":[

            {

                [clue_date]:{"$gte":start_date},//大于等于开始日期

            },{

                [clue_date]:{"$lte":end_date},//小于等于结束日期

            }

        ]

    };

    //获取分组数据

    let clue_data = await $plugin.data.summaryData(clue_entity,"_id",clue_source,query);

    //整理分组结果列表

    let res_list = clue_data.map(function(item){

        return {

            "name":item["_id"] || "无渠道",

            "count":item["count"]

        };

    });

    let num_list = clue_data.map(v=>+v["count"]);

    num_list = num_list || [0];

    let total = eval(num_list.join('+'))

    let str = ``;

    for(let i = 0; i <res_list.length; i++){

        str = `${str}${res_list[i]["name"]}:${res_list[i]["count"]}, `

    }

    await $model.command("confirm",{

        title:"统计结果",

        content:`${str}${total}条数据`,

    });

}

快速汇总多渠道线索数据

测试效果:

快速汇总多渠道线索数据


本文是否对您有帮助?
有帮助
没帮助
您是否遇到了以下问题?
内容过期或不准确
缺少场景、事例
链接有误
太简单,步骤待完善
其他
提交反馈
如需获取即时帮助,请联系
小助理
微信扫码添加小助理
让你的想法快速变成软件吧~