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

溫馨提示×

溫馨提示×

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

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

Birt 中實現組內跨行計算

發布時間:2020-08-09 16:29:01 來源:網絡 閱讀:166 作者:raqsoft 欄目:大數據

來源:https://forums.opentext.com/forums/discussion/61542/compare-current-row-with-previous-row-value#latest

Birt中想要實現組內跨行計算一般要用SQL窗口函數或報表腳本去實現,但代碼比較復雜,這種情況下可以用SPL來輔助報表工具。下面以例子來說明。

本例中有三個字段,其中SELLERID是分組字段,DAY是需要進行比較的字段,字段類型為日期時間型。需要設計一張分組表,SELLERID是分組字段,明細字段是DAY, AMOUNT以及計算列SHIFTTIME, SHIFTTIME中存放著DAY和本組上一條記錄中的DAY相差幾天。源數據如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Birt 中實現組內跨行計算

用集算器進行數據整理:


A
1=connect("db").query("select ? SELLERID, DAY,AMOUNT,0 as SHIFTTIME? ? from SALES order by SELLERID, DAY")查詢數據庫,對SELLERID, ? DAY字段排序,多產生一列常數備用
2=A1.group(SELLERID).run(~.run(interval(DAY[-1],DAY):SHIFTTIME))按SELLERID分組,并在每組數據中修改計算列SHIFTTIME
3=A2.union()合并每組數據
4return ? A3將計算結果返回給報表工具。

將上邊SPL代碼保存為sales.dfx,然后引入到Birt報表中。Birt調用SPL請參考《BIRT調用SPL腳本》。

第一步:添加集算器JDBC數據源。

Birt 中實現組內跨行計算

第二步:創建數據集,編輯Query Text。

Birt 中實現組內跨行計算

第三步:創建報表,報表設計如下:

Birt 中實現組內跨行計算

第四步:WEB 預覽,預覽結果如下:

Birt 中實現組內跨行計算



向AI問一下細節

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

AI

沛县| 罗平县| 罗甸县| 大庆市| 方正县| 乌拉特后旗| 绥宁县| 东乡| 涪陵区| 全椒县| 正定县| 蒙阴县| 繁峙县| 松阳县| 美姑县| 赞皇县| 河间市| 洮南市| 勐海县| 横山县| 清镇市| 聂拉木县| 荃湾区| 高雄县| 邯郸市| 客服| 静乐县| 百色市| 南京市| 玉门市| 潼关县| 金堂县| 平顶山市| 和顺县| 仲巴县| 新建县| 左贡县| 侯马市| 巢湖市| 苍梧县| 靖州|