一、概述
1
版本。
報表伺服器版本 | 功能變更 |
---|---|
11.0 | -- |
2
預期效果。
當報表的資料欄比較多,但資料量不是很大時,可如下圖所示實現動態欄資料展示。
注:此方案不支持報表開啓行式引擎時使用。
3
實現思路。
採用下拉複選框元件和 資料集函式 實現。
二、操作步驟
1
資料準備。
建立普通報表,建立資料集 ds1,SQL 語句為:【SELECT * FROM 銷量】,如下圖所示。
2
設計表格。
如下圖設計表格。
A2儲存格插入公式【=ds1.select(#0)】,即獲取資料集 ds1 的所有列號,設定【縱向擴展】;
B1儲存格插入公式【=$colname】,即獲取所選欄名,設定【橫向擴展】;
B2儲存格插入公式【=ds1.value(A2,B1)】,即獲取資料集 ds1 中指定列欄的值,設定【不擴展】。
3
新增範本參數。
點選【範本】→【範本參數】,新增正文型別參數,命名為【col】,如下圖所示。
注:如果報表預覽時需要預設展示部分資料,可以給參數設定預設值,如預設值處填寫 地區,銷售員 ,預設展示地區,銷售員欄。
4
新增參數元件。
編輯參數面板,點選右側組件設定上方的【全部新增】,生成參數元件,點選參數框,選擇【下拉複選框元件】,如下圖所示。
5
設定參數元件的資料字典。
選中下拉複選框元件,組件名稱為 col,設定資料字典為【公式】,實際值處輸入公式【=TABLEDATAFIELDS("ds1")】,即取資料集ds1的所有欄位名;顯示值輸入【=$$$】,與實際值相同,如下圖所示。
6
效果預覽。
PC 端:儲存範本,點選【分頁預覽】,效果如下圖1所示。
行動端:App 及 HTML5均支援。
三、範本下載
已完成範本可參見:【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Parameter\DynamicCol\函式實現動態欄.cpt】。
點選下載範本:函式實現動態欄.cpt。