- 論壇徽章:
- 0
|
FineReport報(bào)表軟件針對(duì)復(fù)雜格式的報(bào)表數(shù)據(jù)及Web報(bào)表的展現(xiàn),通過多源分片、不規(guī)則分組、雙向擴(kuò)展來輕松拖拽做復(fù)雜格式的報(bào)表,制作報(bào)表從此擺脫了復(fù)雜的SQL和表達(dá)式,不需要編程,大大提高了報(bào)表制作的效率。
相對(duì)于水晶報(bào)表(Crystal Report),F(xiàn)ineReport報(bào)表無論是在報(bào)表設(shè)計(jì),數(shù)據(jù)展現(xiàn),還是表單,應(yīng)用集成等方面,都具有明顯的優(yōu)勢(shì)。
報(bào)表設(shè)計(jì)
在報(bào)表設(shè)計(jì)方面,F(xiàn)ineReport報(bào)表工具的優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:
多數(shù)據(jù)源
FineReport報(bào)表設(shè)計(jì)天然支持多數(shù)據(jù)源(集),同一張報(bào)表的數(shù)據(jù)可同時(shí)來自多個(gè)數(shù)據(jù)表,多個(gè)不同的數(shù)據(jù)庫,或者多個(gè)不同的用戶自定義數(shù)據(jù)視圖,然后在報(bào)表中可直接相互運(yùn)算形成最終的報(bào)表。
并且連接數(shù)據(jù)源的方式也多種多樣,支持JDBC,JNDI數(shù)據(jù)源,如Oracle,DB2,SQLServer,MySQL等主流的數(shù)據(jù)庫,自定義的程序數(shù)據(jù)源,文本數(shù)據(jù)源,Hibernate數(shù)據(jù)源,Remedy等等,同時(shí)數(shù)據(jù)源具有無限的擴(kuò)展性,可以支持WebService,SOA等標(biāo)準(zhǔn)的數(shù)據(jù)。
水晶報(bào)表(Crystal Report)在理論上只支持單數(shù)據(jù)集,對(duì)多集的支持依賴于數(shù)據(jù)庫的運(yùn)算能力(叉乘與聯(lián)合等或?qū)懘鎯?chǔ)過程),多庫一般難以支持。另外一種處理方式,就是將多數(shù)據(jù)源先變相整理成單一數(shù)據(jù)源,然后再進(jìn)行其它操作,并不是真正意義上的多數(shù)據(jù)源。
分組的調(diào)整,不完全分組
分組是報(bào)表數(shù)據(jù)當(dāng)中,最常見的方式。FineReport報(bào)表工具的分組,是建立在單元格的基礎(chǔ)之上,因此刪除分組,更改分組字段等操作,就只需要對(duì)單元格進(jìn)行操作,與報(bào)表內(nèi)其它的數(shù)據(jù)無關(guān)。另外,在很多情況下,數(shù)據(jù)并非枚舉式的完全分組,而是一些固定行列,或者按段分組等形式,F(xiàn)ineReport報(bào)表提供了用戶自定義分組,只需要添加一些條件,即可達(dá)到不規(guī)則分組的目的。
水晶報(bào)表(Crystal Report),所有的數(shù)據(jù)都被劃分在條帶狀的模型當(dāng)中,刪除分組時(shí)會(huì)將相關(guān)的分組匯總單元一并刪除,調(diào)整分組字段只能刪掉重建,整個(gè)操作比較繁瑣,且會(huì)導(dǎo)致重復(fù)工作。而不規(guī)則分組,在Crystal Report當(dāng)中,則僅僅只是修改組名,無法修改其它跟隨數(shù)據(jù)的計(jì)算。
數(shù)據(jù)擴(kuò)展和交叉表
FineReport報(bào)表工具的數(shù)據(jù)擴(kuò)展,是雙向的,也就是行列對(duì)稱,橫縱方向能力一致,可以方便地制作交叉報(bào)表(多層),可同行式表一樣制作復(fù)雜表頭。
水晶報(bào)表(Crystal Report)制作交叉報(bào)表的方式,是采用專門的交叉表模型,其表頭是按照向?qū)ё詣?dòng)生成的,缺乏靈活性。
報(bào)表分片
復(fù)雜報(bào)表當(dāng)中,報(bào)表分為多片的現(xiàn)象非常常見,即整個(gè)報(bào)表是一個(gè)大的規(guī)則的報(bào)表,但是實(shí)際上可以分為多個(gè)不規(guī)則的小區(qū)域,各個(gè)區(qū)域之間看似沒有聯(lián)系,但是數(shù)據(jù)之間實(shí)際可以相互關(guān)聯(lián)。FineReport由于支持多數(shù)據(jù)源,以及數(shù)據(jù)的行列對(duì)成擴(kuò)展,因此支持報(bào)表的各片獨(dú)立重復(fù)或者相互運(yùn)算,并且允許固定和變動(dòng)分片的混合。
水晶報(bào)表(Crystal Report)的單表模型不能支持分片。對(duì)于分片的報(bào)表,一種處理方法是事先編程準(zhǔn)備數(shù)據(jù),另一種則是靠子報(bào)表拼接來完成。處理相當(dāng)繁瑣,并且這兩種處理方法也并非每次都能夠達(dá)到要求,設(shè)計(jì)出需要的報(bào)表格式。
跨行組運(yùn)算
報(bào)表中常常需要有跨行組的運(yùn)算,如比上期、比去年同期等。FineReport報(bào)表的單元格層次坐標(biāo)概念可以精確地引用任何一個(gè)擴(kuò)展之后的單元格,然后通用地寫出表達(dá)式進(jìn)行這些跨行組運(yùn)算。
水晶報(bào)表(Crystal Report)只能簡(jiǎn)單地支持某些固定的跨行運(yùn)算,如累積值、比上期等,更復(fù)雜的跨行組計(jì)算只能事先編程準(zhǔn)備數(shù)據(jù)。 |
|