报表之首次展现默认查询

Web 端报表呈现页面为了方便精准或模糊查询指定数据,常常会给报表添加筛选面板(即:参数模板)来实现,其本质是页面参数对数据库 sql 的数据过滤。

一般当首次展现参数为空时,页面显示空白只有表头部分,可能会使用户产生查询出错的错觉,为避免这一现象,我们可以给报表设置默认查询。

报表实现默认查询的方式有很多,下面我们举例介绍几种常见设置。

1. 参数为空默认查询全部数据

例如,按照地区查询,参数值输入东北,则报表展示如下:

1png

如该参数为空,则结果如下:

2png

重点设置

在原数据集 SQL 语句中 增加 or ? is null 的设置, 如下图:

未修改前 SQL 语句及数据集参数设置:

3png

4png

增加 or ? is null 后,SQL 语句及数据集参数设置:

5png

6png

注意: 语句中每个 问号 都要与数据集参数对应,如果两个问号 左侧最近的字段名是同一个,那么数据集参数名要保持一致。

实例更多具体设置可参考:参数为空取全部数据的几种做法

2. 参数赋初始值查询固定内容

仍以 1 中的报表为例,参数为空初始展现如下:

7png

报表参数赋初始值

比如:查询货主地区为东北,订单金额大于 1000 的订单信息

8png

重点设置:

报表参数设置面板中,为参数指定默认值,如下图

9png

注意:报表参数设置中需要指定参数的数据类型,与数据库字段类型保持一致。

3. 动态赋初值

上述实例 1,2 均是在报表开发阶段,固定写死其首次查询的内容,有时我们想要依据某个条件来动态控制报表首次默认查询的内容。

比如:报表默认查询指定某天的数据或者系统当前当天的数据。这里以参数为空查询指定某天的数据为例,看一下数据集及参数如何配置。

仍以实例 1 的报表为例,修改如下

数据集 SQL 修改为:

10png

同时去掉数据集原有的参数设置。

报表参数修改为:

11png

其中 rq, 用于接收 web 页面上指定的订购日期值,新增 rq1 负责动态处理首次展现 rq 为空时,默认值新的查询操作。

关于数据集中 ${} 的更多应用可参考报表工具中动态参数的灵活运用