1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 预期效果
通常情况下,数据是通过某一字段来进行分组,如日期字段,每个日期对应一个组,此时分组过于详细,希望按照年与周来分组显示。如下图所示:
注:FineReport 中,week 公式的计算逻辑和 Excel 里一致,把星期天定义为一个星期的第一天。一年中第一个周,必须从星期天开始。
例如:2010-01-01 是星期五,那么 2010-01-01 就不算在2010 年的第一个星期里面,只算在 2009 年的最后一个星期里。
1.3 实现方法
数据库中存的是年月日格式的日期,用户可以通过自定义分组中的自定义值,将数据按照年与周来进行分组。
2. 示例
2.1 报表设计
2.1.1 新建报表
新建普通报表,添加数据集 ds1,SQL 语句为SELECT * FROM 订单。如下图所示:
2.1.2 报表样式
将字段拖拽至对应单元格,如下图所示:
2.2 自定义公式分组
2.2.1 订购日期按「年」分组
选择 A2 单元格中的订购日期数据列,数据设置修改为「分组」「高级」。选择「自定义按钮」,弹出自定义分组对话框,选择「公式分组」。显示模式为「普通分组」,自定义值=year($$$) + "年",让该订购日期字段按照「年」来分组,显示为“数字+年”,其中 year($$$) 表示返回当期日期中的年。如下图所示:
2.2.2 订购日期按「周」分组
选择 B2 单元格的订购日期数据列,数据设置修改为「分组」、「高级」。选择「自定义按钮」,弹出自定义分组对话框,选择「公式分组」。
显示模式为「普通分组」,自定义值="第" + week($$$) + "周",让该订购日期字段按照「周」来分组,并显示为“第+数字+周”,其中 week($$$) 表示返回当前值是第几周的数字。如下图所示:
2.3 汇总设置
选择 C2 单元格,选择「单元格元素>基本>数据设置」,数据设置修改为「汇总」、「求和」,如下图所示:
2.4 效果预览
2.4.1 PC 端
保存模板,选择分页预览,效果如 1.2 节中所示。
2.4.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 已完成模板
已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\GroupReport\自定义公式分组.cpt。
点击下载模板:自定义公式分组.cpt