动态参数的使用说明

 

简单的说,动态参数就是参数值可以使用表达式的参数。

普通参数是直接将输入的参数值传给报表进行运算的,而动态参数是一个表达式,报表运算时会先解析该表达式,然后将表达式计算出的结果作为参数值再传给报表进行运算。

从下面的例子就可以直观的看出普通参数与动态参数的区别。

1、参数定义

imagepng
2、报表定义
imagepng
3、预览结果

imagepng

一个常见例子:
报表初次加载,默认查询当天数据,参数模板选择值传递,则查询选择的参数。
此时就需要动态参数的方法来制作了。如下图所示

imagepng
设置两个参数 arg1 arg2
arg1 为参数模板的 web 变量名,负责接收参数模板传来的参数
arg2 位动态参数,负责对 arg1 进行二次处理 表达式为
if(@arg1==null || @arg1=="",date(now()),@arg1)

报表初次加载的时候,由于参数模板还未传值给主表,此时 arg1 为空
要取当天数据,则需要判断传值。为空则传 date(now())

动态采纳数的另一个使用方法是作为宏传递整个字符串使用。最常见的是根据参数值不同,传递不同的 sql 语句。在数据集 sql 上使用较为广泛。请看如下例子

要根据 arg1 的值不同,对数据集过滤不同的数据。

imagepng
我们把条件语句作为条件来过滤。动态参数的定义如下:

imagepng
由于这个写法的传值是传递完整的字符串,所以需要对条件加引号。