本站首页    管理页面    写新日志    退出

The Neurotic Fishbowl

[Java报表软件—技术知识]专业Web报表工具FineReport ——报表教程之自定义分组
FineReport——报表技术领跑者 发表于 2008/1/29 10:53:51

自定义分组,指的是数据并非枚举,而是可能需要按照分段分组,或者其它不规则的划分。这个功能就是针对数据列进行一个区间定义。因为是根据数据列的数据返回情况分组,有时会遇到不易处理的情况。举例来说,你有一个员工信息表,里面存着全公司的员工数据。今天老板希望看到各个年龄段人数的统计,了解在员工的年龄构成情况。但问题是你的数据库字段只有年龄的实际值字段,若根据此字段来分组,则只会出现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

阅读全文(1623) | 回复(0) | 编辑 | 精华

 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



The Neurotic Fishbowl

.: 公告

本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。


Bloginess

«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

.: 我的分类(专题)

首页(357)
Java报表软件—制作笔记(54)
Java报表软件—功能比较(43)
Java报表软件—使用心得(21)
Java报表软件—行业动态(54)
Java报表软件—新闻资讯(48)
Java报表软件—技术知识(49)
Java报表软件—问题解析(2)


In the Bowl

.: 最新日志

如何对报表的参数控件赋值
java报表工具FineReport常见
报表怎么做 FineReport连接池原
报表怎么做FineReport数据连接之
报表模板之报表设计
报表模板之报表设计


.: 最新回复

回复:报表参数
好好学习,
好好学习,天天向上。买双 air jor
回复:理解FineReport缓存系列2
回复:理解FineReport缓存系列2


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



Text Me

.: 留言板

签写新留言

需要你的帮助


Other Fish in the Sea

.: 链接

报表开发工具  html5图表java报表开发工具




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144764703 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号