根據(jù)如下數(shù)據(jù)表,制作報(bào)表按銷售員、類別統(tǒng)計(jì)訂單數(shù)量,并增加合計(jì),結(jié)果報(bào)表:制作過(guò)程數(shù)據(jù)集設(shè)置ds1: select * from orderlist報(bào)表模板設(shè)計(jì)A2:=ds1.group(NAME;NAME:1),按照銷售員分組,可以手動(dòng)輸入公式,也可以報(bào)表設(shè)計(jì)器右下角選擇分組方式拖拽:B1:=ds1.group(CATEGORY;CATEGORY:1),操作方式同 A2,設(shè)置擴(kuò)展方式為橫向B2:設(shè)計(jì)器右下角,選擇匯總,匯總方式選擇“計(jì)數(shù)”,拖拽任意字段到 B2 單元格B3、C2、C3:合計(jì)單元格,表達(dá)式手動(dòng)輸入:=sum(B2{})報(bào)表結(jié)果對(duì)于這類簡(jiǎn)單報(bào)表,各工具效率上基本沒(méi)有什么差異,潤(rùn)乾報(bào)表是直接寫(xiě)表達(dá)式(也可以拖拽),其他工具有寫(xiě)表達(dá)式的,也有拖拽做的,都比較簡(jiǎn)單。有些工具的可視化的點(diǎn)擊操作做得更人性化,體驗(yàn)更好,更適合初級(jí)學(xué)習(xí)人員
示例 2:帶條件的分組
基于同一個(gè)數(shù)據(jù)表,我們改一下表樣,稍微增加一些難度,根據(jù)日期字段中的年來(lái)分組,看看不同產(chǎn)品的操作上有什么變化按照年度統(tǒng)計(jì)產(chǎn)品的平均售價(jià),單筆采購(gòu)數(shù)量不同、采購(gòu)時(shí)間不同,產(chǎn)品的單價(jià)可能不同,產(chǎn)品平均單價(jià) = 總金額 / 總數(shù)量結(jié)果表樣:制作過(guò)程數(shù)據(jù)集設(shè)置ds1:SELECTORDERLIST.ORDER_DATE,ORDERLIST.PRODUCT,ORDERLIST.PRICE,ORDERLIST.AMOUNT FROM ORDERLIST報(bào)表模板設(shè)計(jì)A2:=ds1.group(year(ORDER_DATE);ORDER_DATE:1)+“年”,取字段的年并分組B1:=ds1.group(PRODUCT;PRODUCT:1),按產(chǎn)品字段分組并設(shè)置橫向擴(kuò)展B2:=ds1.sum(PRICEAMOUNT)/ds1.sum(AMOUNT),先通過(guò) PRICEAMOUNT 算出金額,再進(jìn)行匯總,然后除以總數(shù)量。難度稍微增加以后,潤(rùn)乾報(bào)表還是只要在單元格里寫(xiě)簡(jiǎn)單的表達(dá)式就可以了,依舊簡(jiǎn)單。但有些工具不支持格子里自由寫(xiě)公式和條件,只能在對(duì)話框里設(shè)置,結(jié)果就是拖拽完基礎(chǔ)表達(dá)式以后,還得打開(kāi)對(duì)話框設(shè)置一下條件才可以,比如這個(gè)按年分組從這個(gè)報(bào)表就已經(jīng)可以看出一些端倪了,ds1.group(year(ORDER_DATE);ORDER_DATE:1)+"年" 是寫(xiě)一個(gè)這樣的表達(dá)式,還是每次都多點(diǎn)幾步對(duì)話框去設(shè)置,哪種方法的工作效率更高呢?只考察最簡(jiǎn)單的情況是看不出這些區(qū)別的
示例 3:再?gòu)?fù)雜一些的分組
還是基于這個(gè)數(shù)據(jù)表,我們做個(gè)一個(gè)格式再?gòu)?fù)雜一些的表樣按銷售人員統(tǒng)計(jì)優(yōu)質(zhì)訂單的情況,優(yōu)質(zhì)訂單指:回款日期在訂單日期 30 日內(nèi)且單筆訂單金額 >=10000制作過(guò)程數(shù)據(jù)集設(shè)置ds1:select order_date,price,amount,name,re_date from orderlist where substr(order_date,0,4)=‘2012’報(bào)表模板設(shè)計(jì)A3:=ds1.group(NAME;NAME:1),可以鼠標(biāo)拖拽,也可以手動(dòng)輸入B3:=ds1.count()C3:=ds1.count(price*amount>=10000 and interval(ORDER_DATE,RE_DATE)<=30)D3:=C3/B3,設(shè)置顯示格式為“#0.00%”E3:=ds1.sum(PRICE*amount)F3:=ds1.sum(PRICE*amount,price*amount>=10000 and interval(ORDER_DATE,RE_DATE)<=30),條件表達(dá)式和 C3 一樣,可以在 =ds1.sum(PRICE*amount) 基礎(chǔ)上,直接將條件表達(dá)式復(fù)制過(guò)來(lái)G3:將 D3 直接復(fù)制到 G3,單元格引用名稱自動(dòng)變化,顯示格式保留H3:=ds1.count(price*amount>=10000 and interval(ORDER_DATE,RE_DATE)<=30 and month(ORDER_DATE)>=10 and month(ORDER_DATE)<=12),在 C3 的基礎(chǔ)上增加季度判斷條件I3:=H3/B3,設(shè)置顯示格式為“#0.00%”J3:=ds1.sum(PRICE*amount,price*amount>=10000 and interval(ORDER_DATE,RE_DATE)<=30 and month(ORDER_DATE)>=10 and month(ORDER_DATE)<=12),在 E3 的基礎(chǔ)上,直接將 H3 的條件表達(dá)式復(fù)制過(guò)來(lái)K3:將 I3 直接復(fù)制到 K3,單元格引用名稱自動(dòng)變化,顯示格式保留到這個(gè)例子,是不是已經(jīng)感覺(jué)這些表達(dá)式寫(xiě)起來(lái)也沒(méi)有多困難了,即使是初學(xué)者,也能輕易看懂并寫(xiě)出來(lái)了,是的,有這樣的感覺(jué)就對(duì)了,對(duì)于搞計(jì)算機(jī)的同學(xué),這確實(shí)不難再來(lái)看看其他的一些只能通過(guò)對(duì)話框來(lái)設(shè)置條件的工具處理這樣的情況會(huì)怎樣每增加一個(gè)條件,一個(gè) and,就得點(diǎn)一次增加,如果要修改,刪除,同樣得挨個(gè)去點(diǎn),每次設(shè)置還都得打開(kāi)、關(guān)閉一次對(duì)話框如果每次都得這樣,估計(jì)初學(xué)者也不會(huì)覺(jué)得簡(jiǎn)單而是會(huì)感到麻煩了,更別說(shuō)熟練的老同學(xué)了這樣無(wú)端端多出了好多沒(méi)必要的操作,會(huì)浪費(fèi)很多的時(shí)間,減少很多產(chǎn)出懂了表達(dá)式以后,還是直接寫(xiě)表達(dá)式更快更好,可視化操作看上去很美,但效率并不會(huì)高