第1章 概述
在实际应用中,经常会遇到这种需求,每次打开报表的时候希望查询页面上的时间段自动填入当前时间、当年的第一天、前一天、前一个工作日等。如果自己手动编写js脚本处理相对时间通常比较繁琐,而UniEAP Report提供了大量强大的时间处理公式,通过公式可以轻松完成复杂的相对时间计算。本文档全面讲述如何实现相对时间参数。
第2章 相对时间参数实现方法
2.1 定义参数
在报表设计器中,鼠标右击设计器右侧资源树的‘参数’节点,在弹出的菜单中选择新建
弹出如下窗口:
我们使用自定义参数布局去做参数页面,所以这里的参数的数据类型就选择为STRING类型,如果要设置参数为必填项,可选择必须输入为“是”,其余属性可以默认。
2.2 自定义参数布局
在资源树的页面右键单击后,选择‘自定义参数页面’菜单项
弹出窗口如下,
点击确定按钮后,设计器会为当前报表创建一个参数布局:
确定后,报表绘制区切换为参数页面绘制区:
2.3 相对时间公式
报表内置了大量的时间处理公式,包括Day、Month、Year、Quarter、DayOfWeek、Now、ToDate、LongToDate、Interval、After。下面我们通过上述部分公式,做几个常见的相对时间的例子。
1.打开查询页面显示当前时间
使用now()公式
页面展示如下:
2.打开查询页面显示当年的1月1日
使用=todate(concat(year(now()),'-01-01'),'yy-MM-dd')
页面展示如下:
3.打开查询页面显示当前时间的前一天
使用=After(now(),-1,'d')
页面展示如下:
4.打开查询页面显示前一个工作日
使用=Decode(Dayofweek(now()),'星期日',After(now(),-2,'d'),'星期六',After(now(),-1,'d'),'星期一',After(now(),-3,'d'),After(now(),-1,'d'))
页面展示如下: