[Java报表软件—技术知识]专业Web报表工具FineReport ——报表教程之自定义分组 |
自定义分组,指的是数据并非枚举,而是可能需要按照分段分组,或者其它不规则的划分。这个功能就是针对数据列进行一个区间定义。因为是根据数据列的数据返回情况分组,有时会遇到不易处理的情况。举例来说,你有一个员工信息表,里面存着全公司的员工数据。今天老板希望看到各个年龄段人数的统计,了解在员工的年龄构成情况。但问题是你的数据库字段只有年龄的实际值字段,若根据此字段来分组,则只会出现25岁,30岁这样的组名,可是老板却只要22岁~30岁, 30岁~35岁这样的组名。这时要怎么办呢?是不是需要在数据库里增加一个字段,再添加这样的字段进去?这种方法未免过于麻烦。 这时候,我们就需要用到自定义分组来重新定义区间,例如下面这个报表就是一个按段分组的报表,分别统计了各部门员工在各个年龄段的分布情况:
500)this.width=500'>
创建这张报表主要有如下几个步骤:
1、新建一个自由报表。
2、在系统弹出的私有数据源对话框中,定义私有数据源ds1,其SQL语句为select * from agebase。该数据表包含员工ID,性别,年龄,部门,部门所在城市等五个列。
3、点击确定按钮打开报表设计界面。首先,我们来设计报表当中的左表头,也就是在效果图中我们看到的数据统计区左侧的城市和部门字段。
将ds1中的city字段拖拽到A4单元格中,保留其默认的设置,即扩展方向为从上到下,数据类型为分组。
将Department字段拖拽到B4单元格中,同样保留其系统默认的设置,即扩展方向为从上到下,数据类型为分组。
设置后的效果如下图所示:
500)this.width=500'>
4、下面,来设计这个报表的上表头,也就是我们看到的按段分组的横向表头。这是设计本报表的关键步骤!!,我们需要在报表中显示如下这样的样式,即包括年龄段的不规则分组,还有性别字段的传统规则分组:
500)this.width=500'>
在数据源面板当中,将扩展方向由从上到下更改为从左到右,然后将Age字段拖拽到C3单元格中,即其设置就是:从左到右横向扩展,数据是分组。这时,数据是按照22,25,30这样的数字来分组的,并非按段分组。
下面我们来设置自定义分组,双击C3单元格,系统会弹出绑定数据列对话框。选择扩展页面,点击数据类型中分组右侧的自定义按钮,打开自定义分组对话框。在该对话框中做如下设置:
点击新建按钮,新建一个分组,命名为Less than 20,添加条件 Age 小于 20.
点击新建按钮,新建一个分组,命名为20~25,添加条件 Age 大于 ‘20’ and Age 小于等于 ‘25’。
点击新建按钮,新建一个分组,命名为25~30,添加条件 Age 大于 ‘25’ and Age 小于等于 ‘30’。
点击新建按钮,新建一个分组,命名为30~35,添加条件 Age 大于 ‘30’ and Age 小于等于 ‘35’。
点击新建按钮,新建一个分组,命名为More than 35,添加条件 Age 大于 35。
如下图所示:
500)this.width=500'>
将Sex字段拖拽到D3单元格中,其默认的扩展方向为从左到右,数据为分组。
添加了上表头之后的报表设计图如下图所示:
500)this.width=500'>
5、我们要得到的报表,是对人数的统计,以及统计数字的汇总。设置的方法是:
在数据源面板当中,将扩展方向由从左到右更改为不扩展,然后将汇总类型更改为个数。之后,将Age字段拖拽到C4单元格中。
同样的设置,再将一个Age字段拖拽到D4单元格中。
合并City字段所在的A4单元格和A5单元格,合并后的单元格为A4。
在C5单元格中写入公式=sum(C4)。
在D5单元格中写入公式=sum(D4)。如下图所示:
500)this.width=500'>
6、然后,我们要将报表进行格式化,包括添加标题,时间,边框,背景色等等。
将A1,B1,C1,D1单元格合并,写入 Age Count of Employees 作为表报标题。点击按钮,改变标题的字体颜色。
将A2,B2,C2,D2单元格合并,写入公式=date(2007,2,6),右键单元格,选择设置单元格格式,在单元格格式对话框中,选择日期格式。
将A3,B3,C3,D3单元格的背景通过按钮,选择一个背景颜色。同理,给A5,B5,C5,D5单元格设置一种不同颜色的背景。
选中从A3至D5的整个报表区域,点击按钮,给报表添加边框,选择预览区左侧的三个按钮,即只添加行边框。
完成后的设计图如下图所示:
500)this.width=500'>
7、最后将报表保存为irregulargroup.cpt,存储路径为安装目录,例如:../WebReport/WEB-INF/reportlets/com/demo/linear/irregulargroup.cpt。点击预览按钮,可以看到报表的我们期望的报表效果图。
论坛专区与专家交流
完善的报表使用文档和二次开发文档
更多了解,敬请关注: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 访问次数:1208598 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|