1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 預期效果
報表展示時,有些資料排序後顯示更有層次。例如,訂單按運貨費降冪排列,效果如下圖所示:
1.3 實現思路
方案一:直接透過 SQL 語句進行排序,如修改資料集 SQL 語句為:SELECT * FROM 訂單 order by 運貨費 desc,具體介紹參見文檔:詳細SQL文法
方案二:透過設定資料列的進階屬性來實現排序效果。
方法三:透過設定「儲存格屬性>擴展>進階」中的「擴展後排序」來實現排序效果。
關於排序方法的詳細介紹可參見:排序
2. 方案一:SQL 排序
2.1 資料準備
建立資料集 ds1,SQL 語句為:SELECT * FROM 訂單 order by 運貨費 desc,如下圖所示:
2.2 表格設計
設計表格樣式,並將對應的欄位拖入到儲存格中,如下圖所示:
2.3 屬性設定
1)選中 A2 儲存格進行過濾設定,滑鼠雙擊 A2 儲存格,加入過濾條件,如下圖所示:
2)給 A2 儲存格條件屬性,實現隔行變色效果,如下圖所示:
注:當滿足條件row()%2==0時,給這一行加上背景色。row() 獲取當前行號,被 2 整除即偶數行有背景,奇數行沒有背景。
3)選中 B2 儲存格,點選「儲存格屬性>形態」,設定儲存格形態屬性,如下圖所示:
4)給 F2 儲存格設定條件屬性,將運貨費大於 100 的資料紅色突出顯示,如下圖所示:
2.4 效果預覽
2.4.1 PC 端
儲存報表,點選「分頁預覽」,效果如下圖所示:
2.4.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
3. 方案二:進階屬性排序
方案二的表格設計和屬性設定都跟方案一相同,同理設定即可。資料準備和排序設定單獨介紹:
3.1 資料準備
建立資料集 ds1,SQL 語句為:SELECT * FROM 訂單,如下圖所示:
3.2 排序設定
選中 A2 儲存格,選擇「儲存格元素>進階」,排列順序為降冪(↓),公式為運貨費。如下圖所示:
注1:由於儲存格的計算順序,進階排序需要設定在儲存格的父格上。如這裏的訂單 ID,在取訂單 ID 時就根據運貨費欄位的值進行降冪排列。
注2:關於進階排序的詳細使用方法請參考:進階排序
3.3 效果預覽
3.3.1 PC 端
儲存報表,點選「分頁預覽」,效果如下圖所示:
3.3.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
4. 方法三:擴展後排序
方法三的 SQL語句、表格設定和屬性設定與方案二相同,僅單獨介紹排序設定。
4.1 排序設定
選中 A2 儲存格,選擇「儲存格屬性>進階」中的「擴展後排序」,選擇降冪(↓),公式為:F2 ,如下圖所示:
4.2 效果預覽
4.2.1 PC 端
儲存報表,點選「分頁預覽」,效果如下圖所示:
4.2.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
4.3 注意事項
使用「儲存格屬性>進階」中的「擴展後排序」時,需要注意公式中輸入儲存格所使用的資料列「類型」不是「字串」類型。當資料集中資料列的「類型」為「字串」類型時進行排序,如下圖所示:
預覽後效果如下圖所示:
此時將資料列的類型改為「整數」或「小數」類型即可。
5. 範本下載
1)已完成範本參見:
%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Primary\DetailReport\行式報表SQL排序.cpt
點選下載範本:列式報表SQL排序.cpt
2)已完成範本參見:
%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Primary\DetailReport\行式報表進階屬性排序.cpt
點選下載範本:行式報表擴展後排.cpt
3)已完成範本參見:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Primary\DetailReport\行式報表擴展後排序.cpt
點選下載範本:行式報表進階屬性排序.cpt