不输入参数值时不加载任何数据
需求背景
客户由于数据量较大,预想在不输入任何参数的情况时,不进行任何数据的查询,当输入参数值时,根据输入的值,进行数据查询。
需求实现
1. 创建参数模板,设计如下:
设置C2单元格的变量名为:arg1
2. 创建数据报表,报表设计如下:
(1) 创建一个普通参数,名为arg1,数据类型为”整数”。
(2) 定义一个动态宏,名为macro1 ,值表达式为:”if(arg1==null ,”1!=1″,”订单.订单ID=”+arg1)“,如下图所示。
(3) 设定数据集,如下图所示:
3. 将报表和参数模板结合起来发布,在未输入参数时候,未加载任何数据。
4.我们在输入参数时,可以根据参数值,加载数据,预览效果如下图所示。
5.详细描述
在不输入参数值时不查询任何数据,这对于大数据量的报表在初次查询中的应用比较广泛,本例实现主要是通过动态宏“if(arg1==null ,”1!=1″,”订单.订单ID=”+arg1)“实现的,在未输入任何参数的时候,参数”arg1“为null,这数据集中的where语句为“1!=1″,设置了这样的恒不等的条件表达,数据集想检索出数据都难了,当输入了参数,就根据这个参数值,设定条件表达式,如果是多个参数,多个条件判断的,本例就不再详述,可以参考教程中动态宏的使用。