真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

報(bào)表如何實(shí)現(xiàn)特殊分組統(tǒng)計(jì)功能?

報(bào)表工具一般都會(huì)提供按某個(gè)字段分組的表達(dá)式,如按自然月分組統(tǒng)計(jì),但有時(shí)候需要按不規(guī)則月份來分組,例如,某企業(yè)從 1 月 16 日開始實(shí)行某種特殊的價(jià)格策略或營銷活動(dòng),因此以后都想以每月 16 號(hào)為界來統(tǒng)計(jì)產(chǎn)品銷售情況。這里所謂不規(guī)則月份就是指: 如果起始時(shí)間是 2013-01-16,則將 2013-01-16 到 2013-02-15 作為一組,將 2013-02-16 到 2013-03-15 作為一組。有的情況是需要按數(shù)值區(qū)間統(tǒng)計(jì),比如:將訂單金額按照1000、2000、4000劃分為四個(gè)區(qū)間,每個(gè)區(qū)間一組訂單,統(tǒng)計(jì)各組訂單的總額。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了黃龍免費(fèi)建站歡迎大家使用!

這類特殊分組,SQL很難寫,報(bào)表工具也都無法應(yīng)對(duì),只能是硬編碼的方式在外部實(shí)現(xiàn),然后通過每個(gè)報(bào)表工具專有的方式將外部實(shí)現(xiàn)整合起來。實(shí)現(xiàn)這類需求,一般就是根據(jù)分組條件循環(huán)添加到某個(gè)子集合中,還需在子集合中分別實(shí)現(xiàn)sum(),count(*),topN()等聚合動(dòng)作,代碼冗長,改動(dòng)和維護(hù)都很麻煩。其實(shí)這類需求使用報(bào)表工具+集算器的方式都很簡單,集算器代碼如下,

不規(guī)則月份統(tǒng)計(jì):


AB
1=connect("demo")
2=A1.query("select ? ? OrderID,Amount,OrderDate from salesall where OrderDate>=? and OrderDate<? order by ? ? OrderDate",startDate,endDate)
3=interval@m(startDate,endDate)=startDate|A3.(elapse@m(startDate,~))
4=A2.group(B3.pseg(OrderDate);round(~.sum(Amount),2),B3(#))
5=A4.new(#:Number,#2:TotalAmount,#3:StartDate)
6>A1.close()
7return A5

A7返回結(jié)果:

報(bào)表如何實(shí)現(xiàn)特殊分組統(tǒng)計(jì)功能?

集算器提供JDBC和ODBC接口,計(jì)算結(jié)果很容易被報(bào)表工具使用,代碼詳解及報(bào)表整合參見 集算器如何協(xié)助Birt實(shí)現(xiàn)不規(guī)則月份統(tǒng)計(jì) 。沒用報(bào)表工具的,可以直接在Java代碼中嵌入SPL腳本,使用方法參見 Java 如何調(diào)用 SPL 腳本? ??

數(shù)值區(qū)間分組:


A
1=sales=db.query("select * from ? sales")
2=byFac=["?<=1000","?>1000 ? && ?<=2000","?>2000 && ? ?<=4000","?>4000"]
3=sales.enum(byFac,AMOUNT)
4=A18.new(byFac(#):byFac,~.sum(AMOUNT):AMOUNT)

A4結(jié)果如下:

報(bào)表如何實(shí)現(xiàn)特殊分組統(tǒng)計(jì)功能?

詳解參見 SPL 簡化 SQL 案例詳解:固定分組

還有一些情況表面上看不出是需要分組,其實(shí)如果用分組的思路解決起來十分方便,比如,根據(jù)門禁出入情況匯總考勤,如何統(tǒng)計(jì)考勤記錄 ,這類有序分組運(yùn)算用SQL都不好寫,用集算器SPL腳本就很簡單。有關(guān)集算器安裝使用、獲得免費(fèi)授權(quán)和相關(guān)技術(shù)資料,參見如何使用集算器 。


網(wǎng)站標(biāo)題:報(bào)表如何實(shí)現(xiàn)特殊分組統(tǒng)計(jì)功能?
新聞來源:http://weahome.cn/article/ijceeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部