自定义分组,按时间段分组,条件分组
1. 问题描述
按段分组是一个比较典型的高级分组报表样式,其分组是根据数据的值段来分的,比如按照分数段、年龄段、时间段等,属于某个值区间的记录归到一个组里显示,如下图:
2. 示例
以下介绍上图企业年龄构成比例报表的制作过程。
2.1 新建报表,添加数据集
新建工作薄,添加数据集ds1,SQL语句为SELECT 雇员ID, 职务, year(now())-year(出生日期)+1 AS 年龄 FROM [雇员]。
雇员表中存的是雇员的出生日期,因此在SQL中我们使用SQL函数year(now())-year(出生日期)+1根据出生日期计算出员工的年龄。
2.2 表样设计
如下图制作报表:
数据列设置如下:
单元格 | 数据集 | 数据列 | 属性 |
A3 | ds1 | 产品ID | 从上到下扩展,居中,其余默认 |
B2 | ds1 | 年龄 | 从左到右扩展,居中,其余默认 |
B3 | ds1 | 雇员ID | 汇总-个数,不扩展,居中,其余默认 |
设计器预览模板,此时会将所有年龄都扩展出来,我们希望将年龄分成段显示。
2.3 自定义条件分组设置
选中年龄数据列所在单元格,数据设置修改为分组>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择条件分组:
我们将年龄分成四段,分别如下:
组1:命名为小于20岁,条件为年龄小于20;
组2:命名为20~30岁,条件为年龄大于等于20 and 年龄小于30;
组3:命名为30~40岁,条件为年龄大于等于30 and 年龄小于40;
组4:命名为大于40岁,条件为年龄大于等于40。
2.4 保存并预览
保存模板,设计器中点击分页预览,效果如上。
2.5 强制分组
由预览效果可以看到,由于没有符合“小于20岁”的年龄,因此没有显示出“小于20岁”这一组,若希望即使没有符合的的数据,显示出所有定义的分组的话,可以在自定义分组界面选择强制分组,结果如下:
已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\GroupReport\CusGroup_2.cpt。
返回顶部