历史版本29 :每页固定行数页内合计 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
11.0

1.2 问题描述

文档 每页显示固定行数 中,通过「条件属性>行后分页」实现了每页显示固定行数,但在其基础上实现 页内合计 时,使用「重复结尾行」设置「页合计」,会出现页合计重复出现的问题。如下图所示:

那么要如何实现固定行数报表中,页合计、组合计、总合计正常显示呢?

1.3 解决思路

利用高级分组写分组公式,在条件属性中设置「行前分页」,再进行合计。

2. 示例编辑

2.1 打开模板

打开模板:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\按组分页.cpt

2.2 设置分组

模板 按组分页.cpt  中一个组的数据是一个「货主地区」的全部数据,这里将其每个组的数据再分为每 5 条数据为一组。

1)在报表最左侧插入一列,选中 A5 单元格,拖入数据列「订单 ID」,「单元格属性>扩展」中设置扩展方向为「纵向扩展」,左父格为 B4 单元格。如下图所示:

1.png

3)设置 A5 单元格的「单元格元素>数据设置」为「分组>高级」,点击「自定义」,选择「公式分组」,显示模式为「普通分组」,自定义值输入公式:CEILING(INARRAY($$$,ds1.group(订单ID))/5) 。即每 5 条数据为 1 组,组序号从 1 开始。

公式说明如下表所示:

公式
说明
ds1.group(订单ID)选出数据集 ds1 中订单 ID 的数据并分组
INARRAY($$$,ds1.group(订单ID))/5返回当前值在数组中的位置,再除以 5
CEILING()

将参数沿绝对值增大的方向,舍入为最接近的整数

步骤如下图所示:

1.png

3)修改 B5 单元格的左父格为 A5 单元格(即默认)。如下图所示:

2.png

2.3 汇总计算

针对「应付金额」数据列作合计,下面分别介绍三种合计设置。

2.3.1 页合计

「货主地区」下每一小组订单记录就为一页,页合计即对每一小组数据进行汇总。

1)合并 B6~D6 单元格,插入文本:「页合计:」,左父格为 A5,不扩展,如下图所示:

1.png

2)选择 E6 单元格,选择「单元格元素>插入公式」,公式为:sum(E5)。如下图所示:

2.png

2.3.2 组合计

对每个「货主地区」的所有数据进行汇总。

1)合并 B7~D7 单元格,插入文本:「组合计:」,左父格为 B4,不扩展,如下图所示:

3.png

2)在 E7 单元格,选择「单元格元素>插入公式」,公式为:插入公式sum(E5)。如下图所示:

1.png

2.3.3 总合计

所有数据都扩展完后进行总计。

合并 B7~D7 单元格,插入文本:「总合计:」,E8 单元格选择「单元格元素>插入公式」,公式为:sum(E5)。如下图所示:

1.png

2.4 设置分页

此时预览模板,每一小组还是显示在一页上面,因此需要设置分页。

选中 A5 单元格选择「条件属性」,添加属性「分页」,选择「行前分页」,条件类型选择「普通」,操作符选择「不等于整型 1」,即每个地区下从小组序号为 2 的小组开始「行前分页」,如下图所示:

1614759812462283.png

2.5 隐藏列

设置完成后隐藏 A 列。

2.6 效果预览

2.6.1 PC 端

保存模板,点击「分页预览」,效果如下图所示:

1611913882163989.gif

2.6.2 移动端

App 端和 HTML5 端均支持,效果如下图所示:

3064A332-F8A2-4354-BE03-3A59A424E069.GIF

2.7 补充:设置页码

问题描述

上述已完成模板,以货主地区来进行分页,每页 5 条数据,此时若想要知道这是某个地区的第几页和这个地区共有几页,那么该如何生实现呢?

解决方案

1)在报表下方插入两个表示页码的公式:D10 单元格为{A5},表示某地区当前页数;E10 单元格为"/" + count(A5),表示获取该地区的页码有几页,"/" 起分隔符的作用。

2)设置 D10、E10 单元格的左父格均为「货主地区」所在的 B4 单元格,并将第 10 行设置为重复结尾行。

3)由于重复结尾行的影响,需将总合计所在 B8、E8 单元格的左父格设置为 A11,并且在 A11 单元格中添加一个空格,使第 11 行为「空白编辑行」。

如下图所示:

1614760405817592.png

4)保存报表,点击「分页预览」,即可看到当前地区的页码数:

1612186703466292.png

注:也可以通过页码公式进行页码的显示,可参考: 根据分组设置页码

3. 模板下载编辑

已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\分组分页合计.cpt

点击下载模板:分组分页合计.cpt