历史版本10 :按段分组 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

按段分组是一个比较典型的高级分组报表样式,其分组是根据数据的值段来分的,比如按照分数段、年龄段、时间段等,属于某个值区间的记录归到一个组里显示,如下图:
222

2. 示例编辑

以下介绍上图企业年龄构成比例报表的制作过程。
2.1 新建报表,添加数据集
新建工作薄,添加数据集ds1,SQL语句为SELECT 雇员ID, 职务, strftime('%Y','now')-strftime('%Y',出生日期) +1 AS 年龄 FROM 雇员
雇员表中存的是雇员的出生日期,因此在SQL中我们使用SQL函数strftime('%Y','now')-strftime('%Y',出生日期) +1根据出生日期计算出员工的年龄。
2.2 表样设计
如下图制作报表:
222
数据列设置如下:
  单元格数据集  数据列  属性  
  A3  ds1  职务  从上到下扩展,居中,其余默认
  B2  ds1  年龄  从左到右扩展,居中,其余默认
  B3  ds1  雇员ID  汇总—个数,不扩展,居中,其余默认
设计器预览模板,此时会将所有年龄都扩展出来,我们希望将年龄分成段显示。
2.3 自定义条件分组设置
选中年龄数据列所在单元格,数据设置修改为分组>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择条件分组
我们将年龄分成四段,分别如下:
222
组1:命名为小于20岁,条件为年龄小于20;
组2:命名为20~30岁,条件为年龄大于等于20 and 年龄小于30;
组3:命名为30~40岁,条件为年龄大于等于30 and 年龄小于40;
组4:命名为大于40岁,条件为年龄大于等于40。
2.4 保存并预览
保存模板,设计器中点击分页预览,效果如上。模板效果在线查看请点击CusGroup_2.cpt
2.5 强制分组
由预览效果可以看到,由于没有符合“小于20岁”的年龄,因此没有显示出“小于20岁”这一组,若希望即使没有符合的的数据,显示出所有定义的分组的话,可以在自定义分组界面选择强制分组
222
结果如下:
222

已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\GroupReport\CusGroup_2.cpt