随笔-19  评论-2  文章-1  trackbacks-0

同期比,指的是一个与时间相关的运算。在普通的电子表格报表当中,可以任意取值进行运算,但是在可扩展的线性报表当中,数据都是由一个单元格扩展出来的,所以需要涉及到扩展后的单元格的定位。例如下面这张报表。

设计如上报表,有如下几个步骤:

1、新建一个自由报表。

2、在私有数据源管理器中定义一个名为ds1的数据查询,其SQL语句为:select same.amount, YEAR(same.signdate) as year, MONTH(same.signdate) as month, same.customer_name from same order by same.signdate asc。代表这张报表要定义的,是客户名称,年份,月份,以及金额。我们要得到的数据,是比去年同期增长比率以及比上期的增长比率。

3、准备表头:这个报表在格式上比较简单,所以我们可以先画好表头,如下图所示:

4、放置数据:将customer_name拖拽到A4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将year字段拖拽到B4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将month字段拖拽到C4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将amount字段拖拽到D4单元格中,设置类型为不扩展,数据为汇总|求和。如下图所示:

5、使用层次坐标定位写入与去年同期比:在E4单元格中写入=D4/D4[B4:-1,C4:+0]。这个公式得到的数据,在把每个客户第二年相应月份的数据进行一个比率运算。在这个公式当中D4[B4:-1,C4:+0]: B4:-1表示表示当前格所在当前分组格B4之前偏移一个位置的B4分组格,C4+0表示当前单元格所对应的C4单元格。这两个表达式共同定义的即是当前单元格所在的B4分组偏移一个位置之后对应的与当前单元格对应的同一位置的C4单元格所一起定义的D4单元格。

6、使用层次坐标定位写入与上期的比率:在F4单元格中写入=D4/D4[C4:-1]。这个公式得到的数据,是把每个客户每一年下面,每月数据依次进行比率运算。在这个公式当中D4[C4:-1]:C4:-1表示当前格所在的C4单元格之前偏移一个位置的C4所对应的D4单元格。

7、设定日期格式:在A2这一行当中,放置的是一个日期函数,右键该单元格,选择设置单元格格式,在样式对话框中,选择格式页,之后选中日期型,在右侧的文本框中,选择需要显示的日期格式即可。如下图所示:

8、设定数据显示格式:在E4和F4单元格中,因为计算出来的数据都是比率,如果完全按照原始数据显示,那么可能会有很长的小数显示,而我们希望得到一个两位小数的百分数。分别右键这两个单元格,选择设置单元格格式,在样式对话中,选择格式页,之后选中百分比,在右侧对应的文本框中选择我们要使用的格式:0.00%。如下图所示:

9、保存报表:保存报表为../WebReport/WEB-INF/com/doc/compair.cpt

详情敬请登录:http://www.finereport.com

posted on 2008-01-30 17:23 javareport 阅读(1880) 评论(0)  编辑  收藏 所属分类: 设计报表