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

動态分組

1. 概述

1.1 需求描述

當報表的數據列比較多,但數據量不是很大時,采用動态分組可靈活呈現不同維度的數據。如下圖所示,當選擇不同參數值時,可展示對應維度分組的數據。

預覽.gif

1.2 實現思路

參考數據集參數設置中參數爲空選擇全部的用法,用if語句實現動态列。

2. 操作步驟

2.1 準備數據

新建普通報表,新建數據集ds1,SQL 語句爲:

SELECT 地區 ${if(len(銷售員)=0,"",",銷售員")} ${if(len(産品類型)=0,"",",産品類型")} ${if(len(産品)=0,"",",産品")} ,sum(銷量) as 銷量彙總 
FROM 銷量
where 1=1 
${if(len(銷售員)==0,"","and 銷售員 in ('" +銷售員+ "')")} 
${if(len(産品類型)==0,"","and 産品類型 in ('" +産品類型+ "')")} 
${if(len(産品)==0,"","and 産品 in ('" +産品+ "')")} 
group by 地區 
${if(len(銷售員)=0,"",",銷售員")} 
${if(len(産品類型)=0,"",",産品類型")} 
${if(len(産品)=0,"",",産品")}

由於參數控件爲複選框,因此數據集中參數需用in語句

數據集.jpg

2.2 設計表格

如下圖設計表格,将字段拖入到對應單元格中:

注:由於設置了銷售員、産品類型、産品三列爲動态分組列,即參數爲空時,銷售員、産品類型、産品這三個字段不顯示,所以銷售員、産品類型、産品三個參數需先設置默認值(後期可删除默認值)。

表格.jpg

2.3 添加參數控件

編輯參數面板,點擊右側控件設置上方的全部添加,生成參數控件,分别點擊銷售員、産品類型、産品參數框,選擇下拉複選框控件

image.png

2.4 添加參數框選項數據集

注:由於參數之間做了聯動,所以需要在數據集 SQL 中添加對應的參數過濾條件。

2.4.1 銷售員選項

新建數據集銷售員SELECT distinct 銷售員 FROM 銷量,因爲銷售員是第一個參數,可以任意選擇,所以不需要聯動過濾(此處distinct關鍵字是爲了去重)

銷售員.jpg

2.4.2 産品類型選項

新建數據集産品類型SELECT distinct 産品類型 FROM 銷量 where 1=1 ${if(len(銷售員)==0,"","and 銷售員 in ('" +銷售員+ "')")},因爲産品類型需要根據銷售員的不同顯示相應的産品類型,所以需要設置銷售員過濾參數(此處distinct關鍵字是爲了去重)

産品類型.jpg

2.4.3 産品選項

新建數據集産品SELECT distinct 産品 FROM 銷量 where 1=1 ${if(len(銷售員)=0,"","and 銷售員 in ('"+銷售員+"')")} ${if(len(産品類型)=0,"","and 産品類型 in ('"+産品類型+"')")}因爲産品需要根據銷售員、産品類型的不同顯示相應的産品,所以需要設置銷售員、産品類型過濾參數(此處distinct關鍵字是爲了去重)

産品.jpg

2.5 設置參數控件的數據字典

分别選擇銷售員、産品類型、産品下拉複選框,設置數據字典數據查詢,分别選擇對應的數據集(銷售員、産品類型、産品),設置返回值類型字符串分隔符','(即單引号中間加一個逗号,此處分隔符的設置是爲了将所選的多個參數值分隔開,例:當銷售員選擇 孫林、張珊 時,返回值爲 孫林','張珊 )

注1:銷售員、産品類型控件的控件名必須跟産品類型、産品數據集中的參數名保持一緻才可以聯動。

注2:分隔符必須在英文半角狀态下輸入。

2.jpg

2.6 設置條件屬性

單元格 B2、C2、D2添加條件屬性:列寬爲0,公式條件爲:len($$$)=0,如下圖所示:

3.jpg

2.7 效果預覽

2.7.1 PC端預覽效果

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

預覽.gif

2.7.2 移動端預覽效果

移動端預覽模板,效果如下圖所示:

移動端.gif

3. 模板下載

已完成模板可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doc\primary\GroupReport\動态分組.cpt

點擊下載模板:動态分組.cpt

附件列表


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

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙