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

溫馨提示×

溫馨提示×

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

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

BIRT中如何根據參數實現動態日期分組

發布時間:2021-11-24 17:04:53 來源:億速云 閱讀:111 作者:柒染 欄目:互聯網科技

BIRT中如何根據參數實現動態日期分組,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

BIRT一般擅長處理規則一致的數據,若條件不一致的動態運算在報表中是很難實現的。常規辦法是創建scripted data sources, 在該腳本源上自行處理業務邏輯把數據準備好,然后直接傳給BIRT展現。但SQL或scripted data sources的方式,代碼寫起來非常麻煩,而且工作量很大。

比如要處理這么個場景:按照開始日期、結束日期統計一段時間內訂單,但要根據起止日期的跨度長短實現按天、按周、按月、按年動態分組顯示結果。查詢流程如下圖所示:

BIRT中如何根據參數實現動態日期分組

建議使用集算器,其豐富的集合運算可以方便地完成這類計算和邏輯判斷,比Java寫的代碼要短,比存儲過程寫起來更簡單,比如類似的計算在集算器里可以這樣寫:


A

B

1

=[]


2

=demo.query@x("select ORDERID,ORDERDATE,ORDERAMOUNT from ORDERS where ORDERDATE>=? and ORDERDATE<=?",startDate,endDate)

3

=interval(startDate,endDate)


4

if A3>365

>A1=startDate|A3.(elapse@y(startDate,~))

5

else if A3>30

>A1=startDate|A3.(elapse@m(startDate,~))

6

else if A3>15

>A1=startDate|A3.(elapse(startDate,7*~))

7

else

>A1=startDate|A3.(elapse(startDate,~))

8

=A2.group(A1.pseg(ORDERDATE);~.count(ORDERID):TotalOrder,round(~.sum(ORDERAMOUNT),2):TotalOrderAmount,A1(#):BeginDate)

9

=A8.new(BeginDate:BeginDate,#2:TotalOrder,#3:TotalOrderAmount)

10

return A9

其中startDate,endDate為報表起止日期參數。

集算器提供了JDBC驅動,可以很方便的與BIRT等報表工具集成, BIRT調用SPL腳本有使用和獲得它的方法。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

施甸县| 威信县| 桃园县| 融水| 上虞市| 平罗县| 龙口市| 武冈市| 临澧县| 开江县| 汕尾市| 日土县| 剑河县| 天门市| 黔南| 浪卡子县| 北碚区| 新乡县| 东山县| 玉田县| 乃东县| 成武县| 武城县| 平安县| 含山县| 堆龙德庆县| 新巴尔虎右旗| 长春市| 宜州市| 扎兰屯市| 大邑县| 河东区| 宁波市| 商城县| 北流市| 阿坝县| 自贡市| 离岛区| 香河县| 彰化市| 临潭县|