當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

橫向擴展列多列排序

1. 概述

1.1 問題描述

實現報表預覽時點擊列名,可對該列進行升降排序,而多列的列名是根據字段橫向擴展出來的,使用 擴展後排序 中的方法分别設置 order 參數的值無法實現橫向擴展列中的點擊列排序。

1.2 實現思路

獲取點擊列的所有值,然後在銷售員的單元格屬性中,設置擴展後排序,銷售員根據點擊列的所有值進行排序。

2. 示例

2.1 數據準備

新建數據集ds1,輸入數據庫查詢語句:SELECT * FROM 銷量

Snag_237cf091.png

2.2 表格設計

如下圖設計表格樣式:

Snag_237c35fb.png

單元格屬性設置如下表所示

注:字段設置爲彙總時擴展屬性會自動變爲不擴展,可以通過單元格左上角的灰色箭頭查看單元格的擴展方向。

單元格數據集數據列屬性
A2ds1銷售員  從上到下擴展,居中,其餘默認
B1 ds1 産品  從左到右擴展,居中,其餘默認
B2ds1銷量  不擴展,數據設置:彙總-求和,居中,其餘默認

2.3 超級鏈接

給 B1 單元格,添加超級鏈接>動态參數,重命名爲排序,并添加兩個參數orderindex,order 的參數值爲公式:if($order == 1, 0, 1),index 的參數值爲公式:&B1,如下圖所示:

Snag_23854774.png

注:index 參數值爲 &B1,即點擊時設置 index 的值爲所點擊的單元格的序号。

2.4 排序方法

選中 A2 單元格,右邊屬性面板擊單元格屬性>擴展,設置擴展後排序爲升序并且公式爲:if($order == 1, EVAL("B2[;B1:" + $index + "]"), EVAL("-B2[;B1:" + $index + "]")) 。如下圖所示:

222

注:該公式的含義爲:order 爲 1 時,按照 EVAL("B2[;B1:" + $index + "]")獲取到的點擊列的值進行升序排列;order 爲 0 時,将獲取到的點擊列的值處理爲負數,然後按照負數進行升序排列。

2.4 預覽效果

保存模板,點擊分頁預覽,PC 端效果如下所示:

111.gif

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\橫向擴展列多列排序.cpt

點擊下載模板:橫向擴展列多列排序.cpt

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙