第1章 概述

在实际应用中,经常会遇到这种需求,每次打开报表的时候希望查询页面上的时间段自动填入当前时间、当年的第一天、前一天、前一个工作日等。如果自己手动编写js脚本处理相对时间通常比较繁琐,而UniEAP Report提供了大量强大的时间处理公式,通过公式可以轻松完成复杂的相对时间计算。本文档全面讲述如何实现相对时间参数。

第2章 相对时间参数实现方法

2.1 定义参数

在报表设计器中,鼠标右击设计器右侧资源树的‘参数’节点,在弹出的菜单中选择新建

1

弹出如下窗口:

2

我们使用自定义参数布局去做参数页面,所以这里的参数的数据类型就选择为STRING类型,如果要设置参数为必填项,可选择必须输入为“是”,其余属性可以默认。

2.2 自定义参数布局

在资源树的页面右键单击后,选择‘自定义参数页面’菜单项

3

弹出窗口如下,

4

点击确定按钮后,设计器会为当前报表创建一个参数布局:

5

确定后,报表绘制区切换为参数页面绘制区:

6

2.3 相对时间公式

报表内置了大量的时间处理公式,包括Day、Month、Year、Quarter、DayOfWeek、Now、ToDate、LongToDate、Interval、After。下面我们通过上述部分公式,做几个常见的相对时间的例子。

1.打开查询页面显示当前时间

使用now()公式

7

页面展示如下:

8

2.打开查询页面显示当年的1月1日

使用=todate(concat(year(now()),'-01-01'),'yy-MM-dd')

9

页面展示如下:

10

3.打开查询页面显示当前时间的前一天

使用=After(now(),-1,'d')

11

页面展示如下:

12

4.打开查询页面显示前一个工作日

使用=Decode(Dayofweek(now()),'星期日',After(now(),-2,'d'),'星期六',After(now(),-1,'d'),'星期一',After(now(),-3,'d'),After(now(),-1,'d'))

13

页面展示如下:

14

results matching ""

    No results matching ""

    results matching ""

      No results matching ""