1. 概述
1.1 預期效果
在製作範本時,經常遇到資料表中有不同地區、不同產品、不同時間的銷售資料,但進行展示時僅需要展示不同地區、不同產品的最新銷售資料,如下圖所示:
1.2 實現思路
思路一:在資料集中編寫SQL語句,將資料先按區域、店鋪名、分類進行重新分組,再按時間對資料進行重新排序,取出最新的資料即可。
思路二:在報表中使用層次座標將資料按照不同區域、店鋪名、分類、時間重新進行排序編號,然後設定條件屬性,將序號不等於1的行高為0。
2. 範例一
2.1 資料準備
建立資料集 ds1,資料庫查詢語句為:
select * from (select ROW_NUMBER()over(partition by 區域,店鋪名稱,分類 order by 銷售時間 desc) rowId,* from 銷售明細表 ) as AuctionRecords where rowId=1
SQL語句的含義為:將資料先按區域、店鋪名、分類進行重新分組,再按時間對資料進行重新排序,並取編號為1的資料。
2.2 設計報表
設計表格樣式如下圖所示:
2.3 效果預覽
2.3.1 PC端
如 1.1 節所示。
2.3.2 行動端
3. 範例二
3.1 資料準備
建立資料集 ds1,資料庫查詢語句為:select * from 銷售明細表
3.2 設計報表
設計表格樣式如下圖所示:
3.3 新增公式
在 F2 儲存格中插入公式:COUNT(D2[!0]{A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2}) + 1,如下圖所示:
公式拆解 | 說明 |
---|---|
COUNT( ) | 統計括號裏面所有資料的個數 |
D2[!0]{ } | 匯出滿足大括號裏面條件的所有資料 |
A2 = $A2 B2 = $B2 C2 = $C2 | 條件運算式一部分,將計算限定在每個分組內,即每種能源各自統計自己的 |
D2 > $D2 | 條件運算式一部分,表示條件過濾比當前 D2 儲存格的值大的值 |

3.4 設定條件屬性
選擇 F2 儲存格,新增條件屬性,設定 F2 儲存格內值不等於1的行高為0,並隱藏 F 列,如下圖所示:
3.5 效果預覽
與 2.3 節相同。