1. 概述
1.1 預期效果
當表格是雙向擴展列時,即包含橫向和縱向兩個表頭,數據同時滿足橫向和縱向的類别,想要實現分頁及頁内合計,預期效果如下圖所示:
1.2 實現思路
利用高級分組寫分組公式,在條件屬性中設置「行前分頁」,再進行合計。
2. 示例
2.1 準備數據
點擊設計器左上角「文件>新建普通報表」,新建數據庫查詢,輸入 SQL 語句:SELECT * FROM 銷量。
2.2 設計表格
1)合并 B1~D2 單元格,輸入文本:地區銷售概況,如下圖所示:
2)合并 B3、C3 單元格,選中 B3 單元格,選擇「單元格元素>插入斜線」按鈕,輸入:産品|銷售員|地區 。如下圖所示:
3)将對應的數據拖入單元格中,單元格設置如下表所示:
單元格 | 設置 |
---|---|
A4 | 縱向擴展,父格爲默認 |
B4 | 縱向擴展,父格爲默認 |
C4 | 縱向擴展,父格爲默認 |
D3 | 橫向擴展,父格爲默認 |
D4 | 不擴展,父格爲默認 |
2.3 設置分組分頁
2.3.1 設置分組
本例将表格按照 C4 單元格的「銷售員」字段進行分組分頁,每 3 行數據分爲 1 組。
将 「銷售員」字段拖入 A4 單元格,點擊右側「單元格元素>數據設置」爲「分組>高級」,點擊「自定義」,選擇「公式分組」,顯示模式爲「普通分組」,自定義值輸入公式:CEILING(INARRAY($$$,ds1.group(銷售員))/3) 。即每 3 條數據爲 1 組,組序号從 1 開始。
公式說明如下表:
公式 | 說明 |
---|---|
ds1.group(銷售員) | 選出數據集 ds1 中銷售員的數據并分組 |
INARRAY($$$,ds1.group(銷售員))/3 | 返回當前值在數組中的位置,再除以 3 |
CEILING() | 将參數沿絕對值增大的方向,舍入爲最接近的整數 |
步驟如下圖所示:
2.3.2 設置分頁
示例要将每個分組進行分頁展示,那麽需要從小組序号爲 2 的小組開始進行「行前分頁」。
選中 A4 單元格選擇「條件屬性」,添加屬性「分頁」,選擇「行前分頁」,條件類型選擇「普通」,操作符選擇「不等於整型 1」。如下圖所示:
2.4 頁内合計
2.4.1 頁合計
1)合并 B5、C5 單元格,輸入文本:頁合計,選中 D5 單元格,「單元格元素>插入元素」選擇插入公式 sum(D4) 。
2)這裏的頁合計實際上是對前面的每個分組進行合計,故需要将 D5 單元格的左父格設置爲「自定義>A4」。如下圖所示:
2.4.2 總合計
合并 B6、C6 單元格,輸入文本:頁合計,在 D6 單元格中插入 sum(D4) 公式進行求和即可。
2.5 設置重複行、隐藏列
1)選擇第 1 行和第 3 行,右鍵單擊,選擇「設置重複标題行」,如下圖所示:
2)選中第 5 行,選擇「設置重複結尾行」,如下圖所示:
2)選中 A 列,單擊鼠标右鍵,選擇「隐藏」即可将 A 列隐藏。
2.6 效果預覽
2.6.1 PC 端
保存報表,點擊「分頁預覽」,效果如 1.1 節所示。
2.6.2 移動端
App 端和 HTML5 端均支持,效果如下圖所示: