反饋已提交
網絡繁忙
當報表的資料欄比較多,但資料量不是很大時,採用動態分組可靈活呈現不同維度的資料。如下圖所示,當選擇不同參數值時,可展示對應維度分組的資料。
參考資料集參數設定中參數為空選擇全部的用法,用 if 語句實現動態欄。
建立普通報表,建立資料集 ds1,由於參數元件為複選框,因此資料集中參數需用 in 語句,如下圖所示:
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,"",",產品")}
如下圖設計表格,將欄位拖入到對應儲存格中:
注:由於設定了銷售員、產品類型、產品三列為動態分組欄,即參數為空時,銷售員、產品類型、產品這三個欄位不顯示,所以銷售員、產品類型、產品三個參數需先設定預設值(後期可刪除預設值)。
編輯參數面板,點選右側元件設定上方的「全部新增」,生成參數元件,分別點選銷售員、產品類型、產品參數框,選擇「下拉複選框元件」,如下圖所示:
注:由於參數之間做了聯動,所以需要在資料集 SQL 中新增對應的參數過濾條件。
建立資料集 銷售員:SELECT distinct 銷售員 FROM 銷量,因為銷售員是第一個參數,可以任意選擇,所以不需要聯動過濾(此處distinct關鍵字是為了去重),如下圖所示:
建立資料集 產品類型:SELECT distinct 產品類型 FROM 銷量 where 1=1 ${if(len(銷售員)==0,"","and 銷售員 in ('" +銷售員+ "')")},因為產品類型需要根據銷售員的不同顯示相應的產品類型,所以需要設定銷售員過濾參數(此處distinct關鍵字是為了去重),如下圖所示:
建立資料集 產品:SELECT distinct 產品 FROM 銷量 where 1=1 ${if(len(銷售員)=0,"","and 銷售員 in ('"+銷售員+"')")} ${if(len(產品類型)=0,"","and 產品類型 in ('"+產品類型+"')")}因為產品需要根據銷售員、產品類型的不同顯示相應的產品,所以需要設定銷售員、產品類型過濾參數(此處distinct關鍵字是為了去重),如下圖所示:
分別選擇銷售員、產品類型、產品下拉複選框,設定「資料字典」為「資料查詢」,分別選擇對應的資料集(銷售員、產品類型、產品),設定「回傳值」類型為「字串」,分隔符為','(即單引號中間加一個逗號,此處分隔符的設定是為了將所選的多個參數值分隔開,例:當銷售員選擇 孫林、張珊 時,回傳值為 孫林','張珊 )
注1:銷售員、產品類型元件的元件名必須跟產品類型、產品資料集中的參數名保持一致才可以聯動。
注2:分隔符必須在英文半角狀態下輸入。
儲存格 B2、C2、D2新增條件屬性:列寬為0,公式條件為:len($$$)=0,如下圖所示:
儲存範本,點選分頁預覽,效果如下圖所示:
App 與 HTML5 端效果相同,效果如下圖所示:
已完成範本可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\primary\GroupReport\動態分組.cpt
點選下載範本:動態分組.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉