反饋已提交
網絡繁忙
資料集中可以用SQL語句,設計器則可以使用【擴展後排序】實現多欄排序。
字元型別的資料可以透過INARRAY(字元, SORTARRAY(UNIQUEARRAY(擴展的所有字元)))進行排序。
數值型別的資料直接透過本身的大小排序。
將兩者結果經過運算得出一個新的數值,最後按照新的數值進行排序。
新建普通報表,新建資料庫查詢ds1,輸入SQL 語句:SELECT * FROM 銷量 where 地區='華北',如下圖所示。
将数据集中的字段依次拖入A2:E2 单元格并设置儲存格樣式,如下圖所示。
將A2 儲存格資料設定為【列表】,如下圖所示。
選中A2 儲存格,設定【擴展後排序】為【升冪】,輸入公式:INARRAY(B2,SORTARRAY(UNIQUEARRAY(B2[!0])))*POWER(10, LEN(MAX(E2[!0])))+E2,步驟如下圖所示。
這個公式涉及到B2 和E2 儲存格的組合計算,正是這種組合計算實現了B2先排序,E2後排序的效果,公式拆解說明如表格所示。
部分
說明
SORTARRAY(UNIQUEARRAY(B2[!0]))
B2儲存格是文字資料,所以要使用SORTARRAY 函式對其進行排序。
INARRAY(B2,SORTARRAY(UNIQUEARRAY(B2[!0])))
SORTARRAY 函式已經將B2排好序了,且資料儲存為陣列
,再使用INARRAY 函式輸出陣列裡面每個文字資料的位置,
也就是將排好序的文字轉化為數字,方便後面跟E2組合計算,再對E2排序。
*POWER(10, LEN(MAX(E2[!0])))
這是個固定的乘冪,前面公式乘這個數,就是為了將代表文字位置的數字增大。
增大這個數是因為後面還要加上E2,如果只是用1、2、3這樣比較小的數,加上E2 後會影響到B2 排序。
+E2
B2儲存格相同時,組內根據加上的E2儲存格數值,得到的和再進行組內排序。
也就是在B2排好序的基礎上,再對E2排序。
儲存報表,點選【分頁預覽】,效果如下圖所示。
該效果支援 App 端和 HTML5 端預覽。
已完成範本設定可參考:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\SpecialSubject\OrderReport\擴展後多欄排序.cpt。
點擊下載範本:擴充後多欄排序.cpt。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉