反饋已提交
網絡繁忙
利用 資料集 或 函式 方式製作出來的動態欄預設是只能顯示固定的欄位的,沒有動態分組統計的功能,如果報表需要使用動態欄,同時某個欄位又需要彙總,那麼原來的方法就不太適用了,必須進行改進。最終效果如下圖。
由於 FineReport 為普通欄提供的彙總不再適用於動態欄,要想實現【銷量】按前面的欄自動彙總的話,必須透過 SQL 進行處理,首先判斷動態欄是否選擇了【銷量】,然後把銷量欄位處理成彙總。
開啟範本【%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Parameterr\DynamicCol\資料集參數實現動態欄.cpt】。詳情可參見:資料集參數實現動態欄.cpt。
將 A2-F2 儲存格的資料設定改由【列表】改成【分組】,如圖1。
修改資料集 ds1 的 SQL 語句為:【SELECT ${if(len(col)=0,'*',replace(col,'銷量','sum(銷量)'))} FROM 銷量 ${if(len(col)<1,"","group by "+replace(col,',銷量',''))}】,可實現:
參數為空時,查詢全部,按左父格分組顯示;
勾選參數但未包含【銷量】欄時,僅按左父格分組顯示;
勾選了參數且包含【銷量】欄時,【銷量】欄可按左父格分組彙總。
語句說明如下表所示。
刪掉參數 【col】 的變數預設值,如下圖2所示。
表示參數col為空時,執行空,相當於【SELECT ${if(len(col)=0,'*',replace(col,'銷量','sum(銷量)'))} FROM 銷量】。
不為空時,執行 【"group by "+replace(col,',銷量','')】,根據一個或多個欄對查詢結果進行分組。
注:',銷量' 中的逗號不能省略,因為用空值更換時,會出現 SQL 語句報錯。
PC 端:儲存範本,點選【分頁預覽】,效果如下圖1所示。
行動端:App 端及 H5 端均支援。
已完成範本,可參見:【%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Parameter\DynamicCol\動態欄的分組統計.cpt】。
點選下載範本:動態欄的分組統計.cpt。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙