亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

BIRT中組內跨行計算和小計怎樣做

發布時間:2022-01-15 16:33:54 來源:億速云 閱讀:112 作者:柒染 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關BIRT中組內跨行計算和小計怎樣做,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

BIRT提供了簡單的計算列功能,可以在原始數據基礎上再計算出一些別的列值或統計值(規律性較強的表達式)。但由于模型采用控件拖拽式布局(一般用列名命名設計階段的數據單元),沒有很好的運算后報表數據項命名機制,很難精確描述數據之間的引用關系,導致隨意的獨立格運算非常困難。

比如要處理這么個場景:為了讓例子盡可能簡單,假設有3列數據,按id分組,數據格式如下:

BIRT中組內跨行計算和小計怎樣做

期望展現的報表結果如下圖所示:

BIRT中組內跨行計算和小計怎樣做

計算規則:

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中組內跨行計算和小計怎樣做了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐陵市| 兴海县| 平乐县| 西畴县| 阜城县| 抚远县| 河津市| 家居| 洛南县| 衡山县| 神农架林区| 呈贡县| 茶陵县| 东港市| 思南县| 乐东| 荆门市| 泾源县| 襄樊市| 民丰县| 宿州市| 石门县| 长海县| 万源市| 托里县| 维西| 鄂温| 昭苏县| 乌鲁木齐市| 五大连池市| 稻城县| 宜城市| 凌海市| 峨山| 子长县| 罗平县| 洛隆县| 宝鸡市| 扶沟县| 尚志市| 和田市|