中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

花莲县| 茂名市| 蒙阴县| 南投县| 浏阳市| 太仆寺旗| 佛坪县| 大邑县| 德兴市| 高阳县| 阳春市| 库伦旗| 白沙| 昆山市| 汨罗市| 革吉县| 南靖县| 兖州市| 罗源县| 平原县| 铜鼓县| 襄樊市| 清丰县| 石城县| 曲阜市| 溧水县| 乌兰浩特市| 耒阳市| 泰兴市| 吉木萨尔县| 麦盖提县| 清涧县| 通化市| 鸡东县| 荣昌县| 阳信县| 乌苏市| 泰和县| 山阳县| 沁阳市| 江孜县|