反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

每页固定行数页内合计

  • 文档创建者:文档助手1
  • 历史版本:31
  • 最近更新:Carly 于 2022-07-26
  • 1. 概述

    1.1 版本

    报表服务器版本
    10.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 总合计

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

    合并 B8~D8 单元格,插入文本:「总合计:」,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

    附件列表


    主题: 报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526