反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

校验填报页面的数据是否重复

  • 文档创建者:cyb435
  • 历史版本:21
  • 最近更新:Leo.Tsai 于 2022-07-06
  • 1. 概述

    1.1 应用场景

    有时候需要校验某个字段下的填报数据是否重复,如有重复值,则提示校验出错信息且不允许提交入库。

    1.2 实现思路

    填报内置校验公式里的单元格,如果涉及到扩展,则会遍历判断。利用此特性,可以将单元格扩展出的所有值作为一个字符串,然后在校验公式里处理成数组后利用GREPARRAY()函数遍历筛选出数组中的当前值,判断其个数。如果个数大于1,说明存在多条重复值。

    注:本方案是支持 Excel 导入场景的。

    2. 示例

    2.1 准备数据

    新建数据查询数据集 ds1,SQL 语句为:SELECT * FROM 销售总额

    Snag_3ec45bf0.png

    2.2 模板设计

    设计填报表格,将销售员和销售总额字段分别拖入到 A2 和 B2 单元格,并添加文本控件。在A3单元格写公式=JOINARRAY([A2],","),用于获取A2扩展出的所有值作为一个字符串。最后将第3行隐藏。

    2.3 设置提交

    菜单栏点击模板>报表填报属性,新增内置SQL提交,设置如下图所示:

    1596529665250672.png

    2.4 设置数据校验

    设计器菜单栏点击模板>报表填报属性>数据校验,新增一个内置校验,如下图所示:

    校验公式为:len(GREPARRAY(split(A3,","),item=A2))<=1

    该公式含义为,遍历A2扩展出的每个值,对经过数组化的A3字符串进行筛选,获取每个A2值出现的次数。如果次数大于1,说明是重复数据。

    注:上述公式不会检测空值,如果希望检测空值,可以将公式替换为:len(GREPARRAY(split(A3,","),item=A2))=1

    2.5 效果预览

    保存报表,使用填报预览,当销售员字段下有重复数据时,校验失败,如下图所示:

    1)PC 端


    2)移动端


    3. 模板下载

    点击下载模板:校验页面数据是否重复.cpt


    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526