注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 要不要对她们真心?!··..
 帮助

专业Web报表工具FineReport ——报表教程之自定义分组


2008-02-14 10:59:39
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://javareport.blog.51cto.com/127966/62026
自 定义分组,指的是数据并非枚举,而是可能需要按照分段分组,或者其它不规则的划分。这个功能就是针对数据列进行一个区间定义。因为是根据数据列的数据返回 情况分组,有时会遇到不易处理的情况。举例来说,你有一个员工信息表,里面存着全公司的员工数据。今天老板希望看到各个年龄段人数的统计,了解在员工的年 龄构成情况。但问题是你的数据库字段只有年龄的实际值字段,若根据此字段来分组,则只会出现25岁,30岁这样的组名,可是老板却只要22岁~30岁, 30岁~35岁这样的组名。这时要怎么办呢?是不是需要在数据库里增加一个字段,再添加这样的字段进去?这种方法未免过于麻烦。
    这时候,我们就需要用到自定义分组来重新定义区间,例如下面这个报表就是一个按段分组的报表,分别统计了各部门员工在各个年龄段的分布情况:
创建这张报表主要有如下几个步骤:
1、新建一个自由报表。
2、在系统弹出的私有数据源对话框中,定义私有数据源ds1,其SQL语句为select * from agebase。该数据表包含员工ID,性别,年龄,部门,部门所在城市等五个列。
3、点击确定按钮打开报表设计界面。首先,我们来设计报表当中的左表头,也就是在效果图中我们看到的数据统计区左侧的城市和部门字段。
ds1中的city字段拖拽到A4单元格中,保留其默认的设置,即扩展方向为从上到下,数据类型为分组
Department字段拖拽到B4单元格中,同样保留其系统默认的设置,即扩展方向为从上到下,数据类型为分组
设置后的效果如下图所示:
4、下面,来设计这个报表的上表头,也就是我们看到的按段分组的横向表头。这是设计本报表的关键步骤!!,我们需要在报表中显示如下这样的样式,即包括年龄段的不规则分组,还有性别字段的传统规则分组:
在数据源面板当中,将扩展方向由从上到下更改为从左到右,然后将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
如下图所示:
Sex字段拖拽到D3单元格中,其默认的扩展方向为从左到右,数据为分组
添加了上表头之后的报表设计图如下图所示:
5、我们要得到的报表,是对人数的统计,以及统计数字的汇总。设置的方法是:
在数据源面板当中,将扩展方向由从左到右更改为不扩展,然后将汇总类型更改为个数。之后,将Age字段拖拽到C4单元格中。
同样的设置,再将一个Age字段拖拽到D4单元格中。
合并City字段所在的A4单元格和A5单元格,合并后的单元格为A4。
在C5单元格中写入公式=sum(C4)
在D5单元格中写入公式=sum(D4)。如下图所示:
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的整个报表区域,点击按钮,给报表添加边框,选择预览区左侧的三个按钮,即只添加行边框。
完成后的设计图如下图所示:
7、最后将报表保存为irregulargroup.cpt,存储路径为安装目录,
例如:../WebReport/WEB-INF/reportlets/com/demo/linear/irregulargroup.cpt。点击预览按钮,可以看到报表的我们期望的报表效果图。
论坛专区与专家交流
完善的报表使用文档和二次开发文档
更多了解,敬请关注:www.

本文出自 “Java报表” 博客,请务必保留此出处http://javareport.blog.51cto.com/127966/62026





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: