表格制作软件FineReport教程:[6]分组报表

 时间:2024-10-20 02:00:30

下面就通过表格制作软件FineReport来介绍一些不规则的分组报表。

工具/原料

表格制作软件FineReport

大小:148.2M 适用平台:windows/linux

相邻连续分组

1、描述数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。

2、打开报表打开报表%FR_HOME%\We水瑞侮瑜bReport\WEB-INF\reportlets\doc\Primary\GroupReport\Group.cpt。预览数据集ds1,可看到如下数据:

表格制作软件FineReport教程:[6]分组报表

3、相邻连续分组设置将地区字段的数据设置修改为分组>相邻连续:

表格制作软件FineReport教程:[6]分组报表

4、保存并预览保存模板,设计器中点击分页预览,便可以看到效果

5、普通分组与相邻连续分组直接拖拽墙绅褡孛数据列到单元格,默认为普通分组,即将所有相同的项都合并起来显示;相邻咒邃狁廖连续分组只是将连续相同的项合并起来。相邻连续分组往往与SQL中排序结合使用来实现普通分组,但比直接使用普通分组性能更好。

按段分组

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

表格制作软件FineReport教程:[6]分组报表

2、新建报表,添加数据集新建工作薄,添加数据集ds1,SQL语句为SELECT 雇员ID, 职务, strftime('%Y','now刻八圄俏9;)-strftime('%Y',出生日期) +1 AS 年龄 FROM [雇员]。雇员表中存的是雇员的出生日期,因此在SQL中我们使用SQL函数strftime('%Y','now')-strftime('%Y',出生日期) +1根据出生日期计算出员工的年龄。

3、表样设计如下图制作报表:

表格制作软件FineReport教程:[6]分组报表

4、数据列设置如下:设计器预览模板,此时会将所有年龄都扩展出来,我们希望将年龄分成段显示。

表格制作软件FineReport教程:[6]分组报表

5、自定义条件分组设置选中年龄数据列所在单元格,数据设置修改为分组>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择条件分组:我们将年龄分成四段,分别如下:组1:命名为小于20岁,条件为年龄小于20;组2:命名为20~30岁,条件为年龄大于等于20 and 年龄小于30;组3:命名为30~40岁,条件为年龄大于等于30 and 年龄小于40;组4:命名为大于40岁,条件为年龄大于等于40。

表格制作软件FineReport教程:[6]分组报表

6、保存并预览保存模板,设计器中点击分页预览,效果如上。

7、强制分组由预览效果可以看到,由于没有符合“小于20岁”的年龄,因此没有显示出“小于20岁”这一组,若希望即使没有符合的的数据,显示出所有定义的分组的话,可以在自定义分组界面选择强制分组,结果如下:

表格制作软件FineReport教程:[6]分组报表

归并分组

1、问题描述在国内,一般企业的主营地区是华北与华南,做报表的时候便希望将销售业绩较好的北方与南方作为主要查看对象,而其他地区则汇总于“其他”组,这就是归并分组,如下图:

表格制作软件FineReport教程:[6]分组报表

2、新建报表,添加数据集新建工作薄,添加数据集ds1,SQL语句为SELECT * FROM [订单] where 货主国家 = '中国',取出中国的所有订单。

3、表样设计如下图制作报表,将字段拖拽至对应单元格:此时会列出所有地区的数据。

表格制作软件FineReport教程:[6]分组报表

4、分组设置对货主地区进行归并分组,选中货主地区所在单元格,数据设置修改为分组>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择条件分组:将货主地区归并为两组,如下图所示:

表格制作软件FineReport教程:[6]分组报表

5、组1:命名为北方,条件为货主地区等于 '华北' or 货主地区等于 '东北' 。组2:道药苍嗓命名为南方,条件为货主地区等于 '华南' or 货主地区等于 '西南' 。不在北方、南方这两组的地区合并,下拉框选择把其它所有的合并,其他组的名字为:其他。

6、保存并与预览保存模板,设计器中点击分页预览,效果如上。

自定义公式分组

1、问题描述通常情况下,数据是通过某一字段来进行分组,如日期字段,每个日期对应一个组,此时分组过于详细,希望按照年与周来分组显示。如下图:数据库中存的是年月日格式的日期,如何按照年与周来进行分组呢?

表格制作软件FineReport教程:[6]分组报表

2、新建报表,添加数据集新建工作薄,添加数据集ds1,SQL语句为SELECT * FROM 订单。

3、表样设计如下图制作报表,将字段拖拽至对应单元格,运货费数据设置为汇总>求和:

表格制作软件FineReport教程:[6]分组报表

4、自定义公式分组订购日期按“年”分组选择A2单元格中的订购日期数据列,数据设置修改为分组争犸禀淫>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择公式分组。让该订购日期字段遽牟赓雁按照“年”来分组,如下图:

表格制作软件FineReport教程:[6]分组报表

5、订购日期按“周”分组选择B2单元格的订购日期数据列,数据设置修改为分组>高级,点击后面的自定义按钮,弹出自定义分组对话框,选择公式分组。让该订购日期字段按照“周”来分组,如下图:

表格制作软件FineReport教程:[6]分组报表

6、保存并预览保存模板,最终效果如上图。

  • 如何使用FineReport实现报表单元格纵横向扩展
  • C# winform datagridview表头格式设置无效
  • 如何使用FineReport设计基础报表并展示
  • 如何设置el-progress圆形进度条宽度
  • 安装tldr出错ERROR:python setup.py egg_info
  • 热门搜索
    低碳生活手抄报资料 安全手抄报的资料 爱国手抄报花边 团结友爱手抄报图片 科技与生活手抄报 国家卫生城市手抄报 食品安全手抄报花边 助人为乐手抄报 社会实践手抄报 小学生读书节手抄报