报表制作工具定时器参数之一

来源:互联网 发布:淘宝的利弊800字 编辑:程序博客网 时间:2024/05/02 01:10

    报表制作工具定时器中,参数尤为重要,特别是时间参数,在涉及到时间的定时任务中都需要用到它的公式。下面就以FineReport报表工具为例,详细介绍一下定时器的参数。

1.    时间参数

定时器中主要用到的时间参数如下:

日报

当前日期的前一天:Format(today()-1,”yyyy-MM-dd”)

周报

当前日期的上一周的第一天:

Format(dateInWeek((today()-7),1)”yyyy-MM-dd”)

当前日期的上一周的最后一天:

Format(dateInWeek((today()-7),7),"yyyy-MM-dd")

当前日期的上上周的第一天:

Format(dateInWeek(dateDelta(dateInWeek((today()-7),1),-7),1),"yyyy-MM-dd")

当前日期的上上周的最后一天:

Format(dateInWeek(dateDelta(dateInWeek((today()-7),7),-7),7),"yyyy-MM-dd")

月报

当前日期的上一个月的第一天:

Format(dateInMonth(monthDelta(today(),-1),1),"yyyy-MM-dd")

当前日期的上一个月的最后一天:

Format(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),"yyyy-MM-dd")

当前日期的上上月的第一天:

Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),1),-1),1),"yyyy-MM-dd")

当前日期的上上月的最后一天:

Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1),daysOfMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1))),"yyyy-MM-dd")

年报

当前日期的上一年的第一天:

Format(dateInYear(yearDelta(today(),-1),1),"yyyy-MM-dd")

当前日期的上一年的最后一天

Format(dateInYear(yearDelta(today(),-1),daysOfYear(yearDelta(today(),-1))),"yyyy-MM-dd")

2.    其他类型参数值

报表当中除了时间参数之外,为了节省报表制作的工作量和减少报表文件的总量,我们往往要在报表里面加入其他的参数。例如主机名,指标名等等。

首先我们在报表里面定义这些参数的时候,建议使用中文的参数名称,这样在定时生成之后,在报表查看时上方的参数名称也就是直接读的在报表

当中定义的参数名称。中文对于最终用户来说比较容易理解。

在报表当中有这些参数的时候,定时生成的时候,我们需要设定参数包含哪些具体的值。比如exchange邮件服务器的性能报表,在哪几台机器上

exchangeexchange又包含哪些参数指标。这些我们都需要通过定义全局数据源得到。

也就是说,我们先定义好一个全局数据源,该数据源返回的结果是exchange服务器所在的所有主机。

然后在设置定时生成的时候,主机这个参数的参数类型,设置为。选择我们已经定义好的全局数据源,以及该数据源中代表主机的列即可。这样在这个数据源内返回了多少结果,则报表在生成的时候,会每一个值生成一个报表。有一种特殊的情况,也许要通过多定义一些全局数据源来实现。例如我们的报表当中,有一部分是windows主机的性能报表。但是windows的主机又分为OACallCenter。如果分开来设计报表的话,是一种重复劳动。

解决的办法,就是通过定义不同的全局数据源。还是以主机这个参数举例。在全局数据源里面定义两个不同的数据源分别返回的结果是OA的主机和CallCenter的主机。 然后我们只要设计一张Windows主机的报表即可。在定义定时任务时,可以定义两个不同的action, 只是主机这个参数定义的时候,选择的数据源不同。选择OA的主机,那么生成的报表就是OA的性能报表,选择CallCenter的主机,生成的即是CallCenter的报表。 再举一个例子。各个业务系统的报表,也可以通过这个方法,大大减少报表的数量。例如业务系统的日报,我们只需要设计一张报表。在设置定时生成的时候,业务系统这个参数,可以分别设置固定的值,即十个不同的action

 

文章转自:http://blog.vsharing.com/fanfanzheng/A1305575.html