免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
明確一些報(bào)表中的基礎(chǔ)問題

寫這篇文章的目的是為象我一樣想系統(tǒng)研究報(bào)表的人做一些概念上的指導(dǎo),我不會給這些概念下定義,只是盡量用自己的語言解釋得清楚些。我的文筆很差,思維也不太連貫,只能時(shí)時(shí)來BLOG記錄一些思想的火花,希望這不斷積累的星星之火能成為燎原之勢。假如讀者有任何感想,請做個(gè)簡單的評論,幫助我再碰撞出一些火花。

什么是報(bào)表
報(bào)表這個(gè)詞在日常生活中,一般是指下級向上級的數(shù)據(jù)匯報(bào),比如,全國各地疾病控制中心或防疫站會定期向上級匯報(bào)傳染病發(fā)病和死亡情況等,類似的報(bào)表,在信息系統(tǒng)中,屬于數(shù)據(jù)采集的部分,具體來說,就是應(yīng)用中增、刪、改、查中增加記錄功能。
在我們的IT系統(tǒng)里,我把報(bào)表分兩類:一是固定格式的,或者是有規(guī)范可循的,一般常見于為事業(yè)單位做的系統(tǒng)中,比如衛(wèi)生統(tǒng)計(jì)報(bào)表,人力資源、稅務(wù)系統(tǒng)的報(bào)表等;二是自由格式的統(tǒng)計(jì)分析,一般稱為統(tǒng)計(jì)分析,是由為方便用戶分析數(shù)據(jù)而開發(fā)的模塊,有的也提供給用戶自定義報(bào)表的工具。所以,以后的敘述中,我將把統(tǒng)計(jì)分析和報(bào)表混為一談,甚至任何可以用報(bào)表工具實(shí)現(xiàn)的展示,我都把它歸到報(bào)表的范疇里。

為什么要使用報(bào)表工具
有兩個(gè)原因:一是為了簡化程序員的開發(fā)工作,二是為客戶提供自定義報(bào)表功能。
據(jù)我了解,現(xiàn)在仍然有許多項(xiàng)目中的報(bào)表模塊沒有用第三方的報(bào)表工具來實(shí)現(xiàn),大部分是因?yàn)轫?xiàng)目經(jīng)理還不知道可以利用現(xiàn)成的工具來節(jié)省一部分工作,但只要是接觸過報(bào)表工具的人,都會自覺地在項(xiàng)目中使用。因?yàn)楣ぞ邥褕?bào)表的主要工作——格式、計(jì)算和輸出——都幫你做好,節(jié)省你的一些時(shí)間。而沒使用工具之前,報(bào)表的格式,假如是頁面上的話,會用HTML的<TABLE>標(biāo)簽來做,計(jì)算會寫到數(shù)據(jù)庫的存儲過程里或業(yè)務(wù)邏輯代碼里,而輸出則是用iText、POI之類的庫來完成。
其實(shí),報(bào)表工具并不如想象得那么萬能,一旦碰上復(fù)雜的表樣和復(fù)雜的計(jì)算,做起來并不輕松,甚至由于工具本身的限制,根本無法完全實(shí)現(xiàn)需求。這時(shí),只能去說服客戶更改需求、換其他工具或改回到手工實(shí)現(xiàn)。好在這么變態(tài)的報(bào)表并不是總有機(jī)會碰得到,只要你肯動腦筋,大部分都可以解決。

打印
說報(bào)表,不能不提到打印。我目前總結(jié)出來的解決方案有三種:一是用瀏覽器的打印功能,雖然這是一直被唾棄的方式,但對于不考慮分頁和不是超寬超長的報(bào)表,還是可以去嘗試說服客戶接受的,更何況,假如你的應(yīng)用只考慮IE的話,可以用腳本去調(diào)用一些IE功能來實(shí)現(xiàn)比較完美的打??;二是用Applet,雖然有點(diǎn)不怎么流行Applet了,又有一點(diǎn)安全方面的小影響,但你可以在程序里完全控制打?。蝗禽敵鰹槠渌袷?,如PDF,XLS等,用已安裝在客戶端機(jī)器的插件來打印,現(xiàn)在的報(bào)表工具一般都是可以輸出這樣的格式。另外,有的報(bào)表工具在服務(wù)器端提供打印支持,這種方式似乎并不是我們想要的。

“中國式”報(bào)表
這大概是近來才發(fā)展起來的一個(gè)詞,其中包含了許多的無奈和憤怒以及對中國特色的無處不在的感慨:-)
概括起來,中國式報(bào)表一般是指表頭復(fù)雜的表格式報(bào)表,這種表格的列頭(表格上端)和行頭(表格左端)會分成多個(gè)層次,而且還帶有大量的總計(jì)和小計(jì)的計(jì)算,樣式的復(fù)雜導(dǎo)致了計(jì)算的復(fù)雜,因此做起來異常困難。這類報(bào)表的格式一般都來自某種強(qiáng)制性的規(guī)范的,比如國家某些部委的統(tǒng)計(jì)報(bào)表標(biāo)準(zhǔn)等。造成這種復(fù)雜格式的原因,一是為了統(tǒng)計(jì)分析方便,最大限度地展示數(shù)據(jù),二是因?yàn)橐郧癕S-Excel普及使用的結(jié)果。所以一些類Excel的報(bào)表工具被宣傳為最適合做中國式報(bào)表。也曾聽人說過,中國式報(bào)表大部分是交叉表,我同意。而且我進(jìn)一步分析發(fā)現(xiàn),許多這樣所謂的交叉表,其實(shí)行或列的擴(kuò)展范圍是有限的,也就是說,有可能做成固定數(shù)目行或列,固定好行列后,為每個(gè)單元格做不同的計(jì)算,這樣一來,又是Excel的長項(xiàng)了。

報(bào)表中計(jì)算的處理
報(bào)表中除了格式讓人頭疼外,計(jì)算也是挺麻煩的。簡單的一些匯總統(tǒng)計(jì),報(bào)表工具會支持。但對于一個(gè)數(shù)據(jù)庫表中全是基礎(chǔ)數(shù)據(jù),而統(tǒng)計(jì)需要關(guān)聯(lián)多個(gè)表來進(jìn)行,還要根據(jù)外部條件來判斷,除了整列做匯總外,可能行涉及到其他列參與其中。說得的確很復(fù)雜,解決方案可以分為下面三種:
一是把計(jì)算放在數(shù)據(jù)庫端,寫成存儲過程或?qū)懙揭晥D里,這樣的報(bào)表工具只要把記錄集拿過來顯示一下就OK了。工具的使用只是用來定義顯示和輸出的。二是把計(jì)算寫進(jìn)SQL查詢,一般的工具只能支持一條SELECT語句(通過子報(bào)表可以支持多個(gè)SELECT),要把復(fù)雜的計(jì)算寫出來,很考驗(yàn)SQL的功底,這樣做,雖然可以避免把邏輯寫到數(shù)據(jù)庫里,移植性好點(diǎn),但工具仍舊只是用來顯示和輸出的。三是完全用工具來實(shí)現(xiàn),一般的工具都提供腳本編程的功能,做到對復(fù)雜計(jì)算的最靈活的控制。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
可視化數(shù)據(jù)駕駛艙_自動出報(bào)表
復(fù)雜報(bào)表
五款主流web報(bào)表工具對比
推薦一款數(shù)據(jù)分析師和初學(xué)者都能靈活運(yùn)用的報(bào)表工具
中國報(bào)表漫談
十款最好用的數(shù)據(jù)可視化工具推薦
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服