[Java报表软件—技术知识]实例-同期比 |
同期比,指的是一个与时间相关的运算。在普通的电子表格报表当中,可以任意取值进行运算,但是在可扩展的线性报表当中,数据都是由一个单元格扩展出来的,所以需要涉及到扩展后的单元格的定位。例如下面这张报表。
500)this.width=500'>
设计如上报表,有如下几个步骤:
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、准备表头:这个报表在格式上比较简单,所以我们可以先画好表头,如下图所示:
500)this.width=500'>
4、放置数据:将customer_name拖拽到A4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将year字段拖拽到B4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将month字段拖拽到C4单元格中,在绑定单元格对话框中,设置类型为扩展,数据为分组,扩展方向为从上到下;将amount字段拖拽到D4单元格中,设置类型为不扩展,数据为汇总|求和。如下图所示:
500)this.width=500'>
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单元格。
500)this.width=500'>
7、设定日期格式:在A2这一行当中,放置的是一个日期函数,右键该单元格,选择设置单元格格式,在样式对话框中,选择格式页,之后选中日期型,在右侧的文本框中,选择需要显示的日期格式即可。如下图所示:
500)this.width=500'>
8、设定数据显示格式:在E4和F4单元格中,因为计算出来的数据都是比率,如果完全按照原始数据显示,那么可能会有很长的小数显示,而我们希望得到一个两位小数的百分数。分别右键这两个单元格,选择设置单元格格式,在样式对话中,选择格式页,之后选中百分比,在右侧对应的文本框中选择我们要使用的格式:0.00%。如下图所示:
500)this.width=500'>
9、保存报表:保存报表为../WebReport/WEB-INF/com/doc/compair.cpt。
FineReport V6.1 免费下载
(下载地址:http://www.finereport.com/FineReport-CN.exe)
论坛专区与专家交流
完善的报表使用文档和二次开发文档
更多了解,敬请关注:www.finereport.com
|
|
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1208331 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|