报表开发过程中,有的时候我们会觉得普通参数很难满足一些业务需求,比如第二个数据集要引用第一个数据集的结果进行计算,动态控制 SQL 的过滤条件,动态列等,如果您遇到了这种情况,可以尝试使用动态参数即 ${参数名} 的方式来达到我们想要的效果。 那么,什么是动态参数呢? 动态参数一般是依赖于普通参数的具有计算能力的参数,在报表中动态参数我们可以看做是一个占位符,在报表运算之前,系统会全面搜索整张报表定义,将所有 ${参数名} 中的参数名替换成参数值即 动态参数表达式的结果。 下面我们举几个例子,看一下 首次展现参数值为空,查询全部数据 实现方法: a. 将数据集中原有的 where 子句部分,用动态参数替换 如下图 更改前 SQL: SELECT 订单. 订单 ID, 订单. 客户 ID, 订单. 订购日期, 订单. 货主地区, 订单. 运货商, 订单. 运货费 FROM 订单 where 订单. 订单 ID >=10254 更改后 SQL: b. 菜单栏中 选择【报表】à 【参数】,新增动态参数, 表达式为:if(bid==null,"",“where 订单. 订单 ID >=”+@bid) 意为:根据参数模板 bid 的参数值是否为空,确定 sql 部分被替换的内容,如下图 注:bid 为参数模板传递的参数名称 c. 其他,设置按照报表常规操作进行开发设计。 2.