在上一篇《脚本模式下的填报表制作》中,我们详细讲述了如何使用脚本进行数据处理、制作填报表,今天我们盘道一下脚本模式下如何实现条件查询。
一、需求描述
然后再进行增删改操作。例如,先过滤出所关心城市的客户信息,然后再对查询结果进行更新操作。那么,实现这个需求需要解决两个问题:
- 如何让条件录入更加人性化
- 脚本模式下如何实现参数的接收处理和数据过滤?
二、实现难点
多城市值传入时,脚本中如何处理参数并实现数据过滤;
参数模板中如何实现地区和城市之间的关联过滤。
三、操作步骤
第一步 制作行式填报表
我们先使用行式填报制作向导制作一个简单的行式填报表,如下图所示:
【小技巧】
如果对采集规则不熟悉,可以对第二行每个单元格设置字段名称:对象. 字段
第二步 定义参数
在填报–参数配置页面中新增需要的参数,本文需要定义城市参数,所以我们新增一个 city 参数,如下图所示:
第三步 修改脚本,实现数据过滤
这里着重讲解下 A2 执行语句:
对象 1=A1.query(“select * from 客户 where 城市 in (?)”,city.split(“,”))
用户可以传递多个城市值,所以检索条件部分我们需要使用 in;
因为允许用户传递多个城市值,所以检索条件部分我们需要使用 in;
填报表的参数是没有数据类型的,所以我们需要将接收到的参数值处理成我们需要的格式,例如通过 split 函数将 city 参数值处理成数组形式:city.split(“,”)。
在不确定如何处理数据或者检查计算结果时,我们可以使用 debug()或者 output() 函数输出需要检查的信息,通过观察控制台结果来判断。
第四步 制作参数模板
新建空白统计表,设置报表类型为参数模板,绘制如下图所示的效果:
其中,
C1 单元格为辅助单元格,其意义是方便用户选择城市数据
设置 C1 单元格的 web 变量名为:area,编辑风格为下拉数据集:
E1 单元格的 web 变量名为 city,编辑风格为下拉数据集,同时设置关联过滤表达式,用户在选择了省份后,可以选择对应省份下的城市数据:
至此,我们就实现了脚本模式下填报表的数据查询以及填报更新设置,这里需要理解的是 query 函数的使用,不过也是比较简单的哦 ~ 当我们遇到需要用脚本进行数据处理的情况,不要害怕,盘它就对了,盘的多了,你会发现原来脚本是很有意思的一种处理方式。
更多填报表制作技巧在这里:
http://c.raqsoft.com.cn/tag/Report?t=填报技巧