1. 概述
1.1 預期效果
在對於分組範本進行頁碼統計時,希望頁碼統計只在當前分組進行,即分組了就重新進行編碼。
例如華東地區這個組內有三頁資料而華北地區這個組內有兩頁資料,則分別標記「組內頁碼」,如下圖所示:
1.2 實現思路
首先透過「每頁固定列數」來計算每組所需的總頁數,如上圖中華東 3 頁,華北 2 頁;
其次使用當前頁 $$page_number 減去之前組的總頁數獲得該頁在當前組的頁碼,如上圖華北的第一頁資料所在 $$page_number為 4,減去之前組總頁數 3,就是該頁在華北組的頁碼。
2. 範例
2.1 報表設計
1)建立普通報表,新增範本資料集 ds1,輸入SQL 語句SELECT * FROM 銷量,如下圖所示:
2)設計報表內容如下圖所示,將 B3 儲存格設定為列表展示,如下圖所示:
2.2 設定按組分頁
選中 A3 儲存格,選擇儲存格屬性>其他>列後分頁,如下圖所示:
2.3 設定每頁顯示固定列數
選中 B3 儲存格,選擇條件屬性>新增條件>列後分頁,當滿足公式&B3 % 10 == 0時,該屬性起作用,如下圖所示:
將 1-2 列設為重複標題列,使其在翻頁時,每頁重複顯示,如下圖所示:
2.4 進行頁碼設定
2.4.1 當前分組的頁碼與上個分組的頁碼之和
首先要獲取當前分組為第幾個分組,在 A1 儲存格中輸入公式:=,並將其左父格設定為 A3 儲存格。
在 B1 儲存格中輸入公式:=roundup(count(B3) / 10, 0) B1[A3:-1],獲取當前分組的頁碼與上個分組的頁碼的總頁碼,並將其左父格設定為 A3 儲存格,如下圖所示:
公式說明:
公式 | 說明 |
---|---|
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