反饋已提交

網絡繁忙

動態顯示前N個分組

一、概述

1
問題描述。
  1. 報表應用中,分組彙總的資料展示只需要展示前幾項佔比較高的類別,剩餘佔比小的類別通常合併為其他類,使得展示的表格看上去更簡潔明瞭。那麼報表在普通分組的情況下,如何實現動態的顯示前 N 個分組,後面的分組合併為其他呢?效果如下圖所示。


2
實現思路。
  1. 在【儲存格元素】→【資料設定】位置,透過自訂公式分組實現。

二、範例

1
範本準備。
  1. 建立資料集 ds1,sql 語句為:【SELECT * FROM 銷量 where 産品='蘋果汁' order by 銷量 desc】,如下圖1所示。

  2. 依次將 ds1 中銷售員、産品型別、産品、銷量欄位拖入 A2、B2、C2、D2 儲存格,設定範本樣式,如下圖2所示。

  3. 點選 D2 儲存格,在【儲存格元素】→【資料設定】位置,選擇【匯總-求和】,將 D2 儲存格資料型別設定為按組匯總求和,如下圖3所示。

2
設定下拉框元件。
  1. 新增下拉框元件,元件用來選擇需要顯示的前幾個分組。

  2. 建立範本參數 TOPN。點選【範本】,選擇【範本參數】,建立範本參數【TOPN】,預設值處型別選擇【整數型態】,如下圖1所示。

  3. 在參數面板中新增 TOPN 參數,選擇元件型別為 【下拉框元件】,在【資料字典】處選擇資料型別為【公式】,實際值處寫入公式【range(1,8)】,為下拉框新增可以選擇的數字值,如下圖2所示。

注:RANGE(from,to,step)函式表示從整數from開始,以step為每一步的大小,直到整數 to 的一個數字序列。

3
自訂分組。
  1. 選中 A2 儲存格,在【儲存格元素】→【資料設定】位置,依次選擇【分組】、【進階】、【自訂】。

  2. 點選【自訂】位置,自訂分組方式選擇【公式分組】,顯示模式選擇【普通分組】,在【自訂值】位置寫入公式:【if(inarray($$$,ds1.select(銷售員))<=$TOPN,$$$,"其他")】,將第 N 個銷售員之後的所有銷售員合併為其他,如下圖所示。公式解譯如下表所示。

步驟
作用公式說明
ds1.select(銷售員)取 ds1 資料集中銷售員列。tablename.select(colname):選出資料集某列的資料,傳回結果是一個陣列。
inarray($$$,ds1.select(銷售員))獲得當前儲存格銷售員在銷售員列中的位置。inarray(co,array):傳回 co 在陣列 array 中的位置,如果 co 不在 array 中,則傳回 0。
if(inarray($$$,ds1.select(銷售員))<=$TOPN,$$$,"其他")將位置大於 N 的銷售員更名為其他。IF(boolean,string1,string2):判斷函式,boolean 為 true 時傳回 string1,為 false 時傳回 string2

$參數名:引用參數。

4
效果預覽。
  1. PC 端:儲存範本,點選【分頁預覽】,效果如第一章第1節所示。

  2. 行動端:App 及 HTML5 端預覽效果如下圖所示。

三、範本下載

  1. 已完成範本可參見:【%FR_HOME%\webroot\WEB-INF\reportlets\doctw\primary\GroupReport\動態顯示前N個分組.cpt】。

  2. 點選下載範本:動態顯示前N個分組.cpt

附件列表


主題: 報表應用
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙