动态参数-使用函数
报表样例
通过本示例,可以了解动态参数在报表中的应用。
制作如下图所示的报表:
报表特点:
- 报表中定义了动态参数,能够利用函数自动计算出当前日期时间作为参数值,报表标题下方的今日日期出即显示出了自动计算出的日期时间值
- 数据集中定义了普通参数接收动态参数的值,基于传入的日期时间值查询过滤出发货日期小于或等于该值的所有订单,即截止目前所有已发货的订单
报表中的数据来自产品中自带的演示数据表“演示_订单表”,采用sql检索数据集并对字段“发货日期”设置了应用参数进行数据过滤的检索条件,数据集sql语法如下:
制作方法
在定义报表的sql检索数据集时,选取对应的表和字段后,在检索条件设置中定义一个名称为“deliverTime”、数据类型为“日期时间”的普通参数,并应用该参数设置一个对字段“发货日期”的过滤条件。
参数定义如下图:
数据集过滤条件设置如下图:
在报表属性的【参数定义】界面中,数据集中定义的参数“deliverTime”按照原名被自动添加到了报表参数中,将报表参数“deliverTime”的参数类型修改为“动态参数”,并且设置参数默认值为“now()”,“now()”是报表自带的计算函数,可以得出当前日期时间:
绘制报表格式,并应用制表助手实现这张列表式报表的制作,注意F2单元格的值是引用了报表参数“deliverTime”,即该单元格在报表展现时显示的是报表参数“deliverTime”的值:
功能点说明
动态参数
在设计报表时,有时会需要动态地计算出一些值然后传给报表进行动态地数据过滤控制。这时就常常需要利用到动态参数。
定义动态参数时,设置的默认参数值是作为一个表达式,报表计算时会先将表达式计算然后再将计算结果作为参数值传给报表使用。设计报表时可以根据业务上的需要灵活地设置动态参数的表达式。表达式中可以应用函数。
例如上面的示例报表中,报表参数“deliverTime”被设为了动态参数,并且参数值表达式应用了日期时间计算函数“now()”。当报表计算时,会先执行表达式“now()”的计算得到当前日期时间值作为报表参数“deliverTime”的最终值,并传给数据集参数“deliverTime”完成数据过滤。
详细了解参数的应用,请参考:参数。
详细了解now()函数的功能和使用,请参考:now()。