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

溫馨提示×

溫馨提示×

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

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

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

离岛区| 江山市| 锦屏县| 黔西| 康乐县| 永吉县| 淮阳县| 凭祥市| 康定县| 吉安县| 大余县| 阜康市| 上饶市| 乌拉特后旗| 静乐县| 孟州市| 博乐市| 蚌埠市| 大新县| 石林| 静乐县| 武陟县| 平塘县| 禄劝| 临夏市| 灵台县| 宁晋县| 龙江县| 松阳县| 龙井市| 日喀则市| 宽甸| 田东县| 凭祥市| 海林市| 普洱| 得荣县| 怀远县| 商都县| 资阳市| 苍山县|