动态参数的使用说明
简单的说,动态参数就是参数值可以使用表达式的参数。
普通参数是直接将输入的参数值传给报表进行运算的,而动态参数是一个表达式,报表运算时会先解析该表达式,然后将表达式计算出的结果作为参数值再传给报表进行运算。
从下面的例子就可以直观的看出普通参数与动态参数的区别。
1、参数定义
2、报表定义
3、预览结果
一个常见例子:
报表初次加载,默认查询当天数据,参数模板选择值传递,则查询选择的参数。
此时就需要动态参数的方法来制作了。如下图所示
设置两个参数 arg1 arg2
arg1 为参数模板的 web 变量名,负责接收参数模板传来的参数
arg2 位动态参数,负责对 arg1 进行二次处理 表达式为
if(@arg1==null || @arg1=="",date(now()),@arg1)
报表初次加载的时候,由于参数模板还未传值给主表,此时 arg1 为空
要取当天数据,则需要判断传值。为空则传 date(now())
动态采纳数的另一个使用方法是作为宏传递整个字符串使用。最常见的是根据参数值不同,传递不同的 sql 语句。在数据集 sql 上使用较为广泛。请看如下例子
要根据 arg1 的值不同,对数据集过滤不同的数据。
我们把条件语句作为条件来过滤。动态参数的定义如下:
由于这个写法的传值是传递完整的字符串,所以需要对条件加引号。