一、概述
進階排序是指:報表根據某【資料欄】設定的公式和排列順序進行的排序。相當於擴展前排序,依賴於【資料欄】。對於記錄數較少,又沒有排序規則的【資料欄】,可以利用公式自訂排列順序。
注:進階排序中的所有設定都可以在擴展後排序中設定實施,但進階排序效能比擴展後排序好,因此建議能用進階排序實施的就用進階排序,不能用進階排序實施的,再使用 擴展後排序。
二、功能簡介
1
在【資料欄】中設定。
進階排序必須在【最父格】儲存格設定。詳情請見父子格設定。
雙擊【最父格】所在儲存格,進入【資料欄】,選擇【進階】。
【排列順序】選擇【升冪】或【降冪】後,公式中可直接輸入【資料欄的名稱】或【包含資料欄的公式】進行排序設定。不填寫公式時,則預設根據【當前欄】進行升冪或降冪。如下圖所示。
註:假設 C1 儲存格的左父格是 B1,B1 儲存格的左父格是 A1,那麼 A1 即爲【最父格】。
2
在【儲存格元素】中設定。
進入【儲存格元素】→【進階】。
設定【排列順序】。如下圖所示。
三、進階排序-資料欄順序
我們以內置範本 Details.cpt 爲例,來展示如何使用【進階排序】使報表根據資料欄【運貨費】進行升冪排序。
1
準備範本。
打開範本:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Primary\DetailReport\Details.cpt 。
2
設定進階排序。
報表的【最父格】爲 A2 儲存格,雙擊 A2 儲存格,進入【資料欄】。
選擇【進階】。
【排序順序】選擇【升冪】。
編輯公式,直接輸入資料欄名稱【運貨費】。
或者在【變數】→【資料項】雙擊【運貨費】。如下圖所示。
3
效果預覽。
PC端展示:點擊【分頁預覽】,即可在網頁中看到報表,資料根據【運貨費】升冪排序了。如下圖所示。
HTML5 端及App 端展示:點擊【行動端預覽】,移動端瀏覽器/APP掃描網頁中的二維碼即可。詳情可見 預覽行動端範本 。App 端和 HTML5 端報表效果和PC端一緻。
四、進階排序-自訂順序
下面我們用一個內置資料集,來看下如何使用進階排序設定自訂排列順序。
1
準備資料。
建立一個普通報表,建立【內置資料集】。
點擊【表設計】,進入【欄設定】。
新增兩個欄位分別爲【size】和【number】。
通過【插入列】輸入數據。
【size】打亂順序,【number】隨意設定。可如下圖所示。
2
設定進階排序。
將資料曳入 A2、B2 儲存格,在 A1、B1 儲存格輸入對應標題, 自訂表格式樣如下圖所示。
報表的【最父格】爲 A2 儲存格,選中 A2 儲存格,進入【儲存格元素】→【進階】。
設定【排列順序】爲【升冪】。
進入公式編輯。
輸入公式:switch($$$,"XS",1,"S",2,"M",3,"L",4,"XL",5,"XXL",6) 或 INDEX($$$,"XS","S","M","L","XL","XXL") 。如下圖所示。
公式說明:
$$$ 表示:當前資料欄。
F04-04 SWITCH函式的作用是:當前值爲 XS 則傳回 1,當前值爲 S 則傳回 2,以此類推。
INDEX 函式的作用是:傳回當前值在 "XS","S","M","L","XL","XXL" 序列中的位置。最後按傳回的數字大小進行排序。
3
3效果預覽。
PC端展示:點擊【分頁預覽】,即可在網頁中看到報表,資料以:XS、S、M、L、XL、XXL 的順序進行排列。如下圖所示。
HTML5 端及App 端展示:點擊【行動端預覽】,移動端瀏覽器/APP掃描網頁中的二維碼即可。詳情可見 預覽行動端範本 。App 端和 HTML5 端報表效果和PC端一緻。
點擊下載範本。