最新历史版本 :根据分组设置页码 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

在对于分组模板进行页码统计时,希望页码统计只在当前分组进行,即分组了就重新进行编码。

例如华东地区这个组内有三页数据而华北地区这个组内有两页数据,则分别标记「组内页码」,如下图所示:

1.2 实现思路

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

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

2. 操作步骤编辑

使用内置 DEMO 数据「销量」。

2.1 报表设计

添加模板数据集 ds1,输入SQL 语句SELECT * FROM 销量 ,如下图所示:

新建报表,并将 B3 单元格设置为列表展示,如下图所示:

2.2 设置按组分页

右击 A3 单元格,选择单元格属性>其他>行后分页,如下图所示:

2.3 设置每页显示固定行数

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

将 1-2 行设为重复标题行,使其在翻页时,每页重复显示,如下图所示:

2.4 进行页码设置

2.4.1 当前分组的页码与上个分组的页码之和

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

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

公式说明:

公式
说明
B1[A3:-1]获取上一个 A3 分组内 B1 单元格的值
roundup(count(B3) / 10, 0)roundup 为向上取整,由于我们设置了 10 行为一页,因此计算结果为当前分组(例如华北)共有几页
roundup(count(B3) / 10, 0) + B1[A3:-1]获取当前分组的页码与上个分组的页码之和

2.4.2 显示当前页在当前分组中的页数

在 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)当前分组(例如华北)共有几页
$$page_number + "/" + roundup(count(B3) / 10, 0)

用 + 符号进行字符串拼接

表示当前页在当前分组的第几页

如果 A1 即当前分组为 1,就直接为当前页/当前分组总页数;如果不为 1,则当前页码减去之前所有分组的总页数和。

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

同时可以在 D1 单元格输入「组内页码」,如下图所示:

2.5 效果查看

2.5.1 PC 端

保存模板后,点击「分页预览」,详情参见本文 1.1 节。

2.5.2 移动端

App 与 HTML5 端效果相同,如下图所示:

3. 模板下载编辑

点击下载模板:根据分组设置页码.cpt