用FineReport报表工具实现同期比
作者:finereport
浏览:8,775
发布时间:2023.7.31
同期比,指的是一个与时间相关的运算。上图报表显示的就是在同一年内每一个月份与上一个月份的比值。
下面我们来看一下用FineReport报表工具实现上述报表的过程。
1.连接数据库frDemo
2.设计报表
2.1新建报表
2.2表样设计
按照下图设计好报表的基本框架。
2.3新建一数据集名为ds1
SQL语句:select 订单.订购日期,订单明细.单价,订单明细.数量,year(订单.订购日期) as 订购年份,month(订单.订购日期) as 订购月份,订单明细.数量*订单明细.单价 as 订购金额 from 订单,订单明细 where 订单.订单ID = 订单明细.订单ID and 订单.订购日期 is not null
2.4绑定数据列
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
A2 | ds1.定购年份 | 从上到下扩展,居中,其余默认 |
B2 | ds1.订购月份 | 从上到下扩展,居中,其余默认 |
C2 | ds1.订购金额 | 数据类型:汇总-求和,居中,其余默认 |
2.5同期比计算
在D2中填入:=if(&D2==1 && &A2==1,,C2/C2[B2:-1]),if(&D2==1 && &A2==1,,C2/C2[B2:-1])指的是如果本记录为所在年份的第一个记录则为空,否则等于这个月的金额除以上个月的金额。这个公式运用到了层次坐标。
3.保存预览
保存为:
%FineReport_HOME%/WebReport/WEB-INF/reportlets/com/doc/4.4.cpt
启动报表服务器,在浏览器中输入以下地址进行浏览:
http://localhost:8079/WebReport/ReportServer?reportlet=/com/doc/4.4.cpt
报表工具产品更多介绍:www.finereport.com