根据分组设置页码

编辑
  • 文档创建者:印然
  • 浏览次数:7341次
  • 编辑次数:8次
  • 最近更新:Kevin-s 于 2019-06-17
  • 1. 描述

    在对于分组模板进行页码统计时,希望页码统计只在当前分组进行即分组了就重新进行编码,如华东地区这个组内有三页数据而华北地区这个组内有两页数据,其效果如下:

    222

    222


    2. 思路

    首先通过每页固定行数来计算每组所需的总页数,如上图中华东 3 页,华北 2 页;

    其次使用当前页 $$page_number 减去之前组的总页数获得该页在当前组的页码,如上图华北的第一页数据所在 $$page_number为4,减去之前组总页数 3,就是该页在华北组的页码。


    3. 示例

    假设已存在如下表样,其数据来源于 FRDemo 的销量表:

    添加数据集 ds1,SQL 语句为SELECT * FROM 销量 

    222


    3.1 按组分页及每页显示固定行数

    按组分页:右击 A3 单元格,选择其他属性>行后分页

    每页显示固定行数如 10 行:右击 B3 单元格,选择条件属性>添加条件>行后分页,当满足公式&B3 % 10 == 0时,该属性起作用;

    重复标题行:将 1~2 行设为重复标题行,使其每页重复显示。


    3.2 页码设置

    首先我们要获取当前分组为第几个分组,在 A1 单元格中输入公式:=&A3,并将其左父格设置为 A3 单元格。

    其次在B1单元格中输入公式:=roundup(count(B3) / 10, 0) + B1[A3:-1],获取当前分组的页码与上个分组的页码的总页码。

    注:roundup(count(B3)/10,0)即获取当前分组的页码,roundup 为向上取整, B1[A3:-1]为获取上一个 A3 分组内 B1 单元格的值。整个公式的意义在于获取当前分组的页码与上个分组的页码之和。

    然后在 E1 单元格中输入公式:=if(A1= 1, $$page_number + "/" + roundup(count(B3) / 10, 0), $$page_number - B1[A3:-1] + "/" + roundup(count(B3) / 10, 0))

    注:$$page_number + "/" + roundup(count(B3) / 10, 0)表示当前页在当前分组的第几页。整个公式的意义在于如果 A1 即当前分组为 1,就直接为当前页/当前分组总页数;如果不为 1,则当前页码减去之前所有分组的总页数和。

    A1、B1 都为中间运算结果,可以设置单元格格式>其他属性>不预览单元格内容,不显示。

    点击分页预览即可看到上图效果。


    附件列表


    主题: 报表设计
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]