BIRT 中組內跨行計算和小計怎麼做
BIRT提供了簡單的計算列功能,可以在原始資料基礎上再計算出一些別的列值或統計值(規律性較強的表示式)。但由於模型採用控制元件拖拽式佈局(一般用列名命名設計階段的資料單元),沒有很好的運算後報表資料項命名機制,很難精確描述資料之間的引用關係,導致隨意的獨立格運算非常困難。
比如要處理這麼個場景:為了讓例子儘可能簡單,假設有3列資料,按id分組,資料格式如下:
期望展現的報表結果如下圖所示:
計算規則:
1、newcolumn=上一行v1 + V1 + 上一行v2 + v2 (上一行無資料則為0)
2、每組都有小計來彙總newcolumn
3、最後還需要總計
常見的解決辦法就是寫自定義資料集(複雜SQL或scripted data sources),把資料事先計算好後再塞入到報表格子中。但自定義資料集方式,程式碼非常麻煩,工作量大。
如果使用集算器則會簡單很多,其豐富的集合運算可以方便地完成這類計算,比scripted data sources程式碼要短,比SQL寫起來更簡單,比如類似的計算在集算器裡可以這樣寫:
|
A |
B |
1 |
=myDB.query@x("select *,0 as newcolumn from sample") |
=create(id,v1,v2,newcolumn) |
2 |
>A1.group(id).run(~.run(v1+v2+v1[-1]+v2[-1]:newcolumn)) | |
3 |
for A1.group(id) |
>B1.insert(0:A3,id,v1,v2,newcolumn) |
4 |
|
>B1.insert(0,"","",A3.id+"SUBTOTAL:",A3.sum(newcolumn)) |
5 |
>B1.insert(0,"","","TOTAL:",A1.sum(newcolumn)) |
|
最後將計算結果返回給BIRT直接進行報表展現即可。其實還有很多類似的計算問題在BIRT中處理不太方便,但有集算器SPL的輔助卻很簡單,感興趣可以參考:
集算器提供了JDBC驅動,可以很方便的與BIRT等報表工具整合, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來源:https://forums.opentext.com/forums/discussion/57738/dealing-with-previous-rows-groups-sorts-and-subtotals
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2693377/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BIRT 統計圖中怎麼根據引數實現 X 軸動態分組
- BIRT 中文字與 JSON 關聯怎麼做JSON
- 計算機軟著的程式碼文件怎麼做?計算機
- 在計算機組成原理中x,計算機組成原理計算機
- win10怎麼加入工作組計算機_win10加入工作組計算機操作步驟Win10計算機
- 新股中籤率怎麼算?新股中籤率計算公式公式
- Uiautomator swipe 中滑動速度怎麼計算?UI
- topthink 這樣的小組是怎麼做的
- BIRT 異構跨庫的動態關聯查詢怎麼做
- word公式怎麼計算 word公式計算的方法公式
- 雲端計算教程學習入門影片課件:怎麼組建雲端計算中心?
- 雲端計算素材、課件:雲端計算可以做什麼用?
- 計算機組成原理 - 計算篇計算機
- 計算機中數值和字串怎麼用二進位制表示?計算機字串
- 怎麼計算這個checksum
- 【雲端計算小知識】什麼是雲端計算?雲端計算特點是什麼?
- 學習雲端計算怎麼樣?雲服務和雲端計算有什麼區別?
- 計算機系統中的大端模式和小端模式計算機模式
- 計算機組成原理期末複習小結計算機
- 加法小計算
- 邊緣計算模組和工控機有什麼區別?
- excel怎麼自己輸入公式計算 excel怎麼編輯函式進行計算Excel公式函式
- #Java集合的組內平均值的計算方法Java
- 計算機計算小數除法的陷阱計算機
- 什麼是Linux雲端計算?學習雲端計算可以用來做什麼?Linux
- 怎麼進入雲端計算這個行業?新手怎麼學習雲端計算?行業
- 雲端計算就業前景怎麼樣?linux雲端計算怎麼開始學習就業Linux
- 【重學計算機】計算機組成原理計算機
- 企業要怎麼做才能減少雲端計算支出的浪費?
- 什麼是量子計算的內文定律?
- 雲端計算和Linux什麼關係?linux雲端計算Linux
- 程式設計師怎麼高效做筆記程式設計師筆記
- MongoDB 怎麼計運算元查詢MongoDB
- 學做8位計算機計算機
- 雲端計算的未來怎麼發展?怎麼學習雲端計算相關技術?
- 雲端計算:雲端計算是怎麼分類的?
- 計算機組成原理計算機
- 怎麼學習雲端計算?雲端計算運維和傳統運維有何區別?運維