軟件技術(shù)公司潤乾報表技術(shù)白皮書_第1頁
軟件技術(shù)公司潤乾報表技術(shù)白皮書_第2頁
軟件技術(shù)公司潤乾報表技術(shù)白皮書_第3頁
軟件技術(shù)公司潤乾報表技術(shù)白皮書_第4頁
軟件技術(shù)公司潤乾報表技術(shù)白皮書_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、潤乾報表技術(shù)白皮書 2 / 94潤乾軟件技術(shù)2006 年 3 月目目 錄錄第第 1 1 章總體說明章總體說明 4 41.1 潤乾報表軟件概述 41.2 產(chǎn)品構(gòu)成 5第第 2 2 章新一代報表模型章新一代報表模型 7 72.1 數(shù)據(jù)統(tǒng)計模型 72.2 數(shù)據(jù)填報模型 18第第 3 3 章功能詳細(xì)描述章功能詳細(xì)描述 22223.1 報表設(shè)計 223.2 報表展現(xiàn)輸出 413.3 數(shù)據(jù)填報 523.4 交互與 OLAP583.5 報表管理中心 633.6 報表任務(wù)調(diào)度 65第第 4 4 章部署與應(yīng)用方案章部署與應(yīng)用方案 67674.1 報表設(shè)計模式 674.2 報表應(yīng)用部署方式 694.3 數(shù)據(jù)報送應(yīng)

2、用方式 73 3 / 944.4 支持環(huán)境 76第第 5 5 章性能指標(biāo)與控制章性能指標(biāo)與控制 78785.1 性能分析 785.2 實測指標(biāo) 795.3 控制手段 80第第 6 6 章集成接口章集成接口 82826.1 數(shù)據(jù)源 826.2JAVA API846.3 前端接口 866.4 設(shè)計器接口 88第第 7 7 章特點與優(yōu)勢總結(jié)章特點與優(yōu)勢總結(jié) 90907.1 新一代報表模型 907.2 真正易用的報表工具 907.3 純 JAVA 報表軟件 917.4 強有力的填報功能 917.5 獨有的字符終端解決方案 927.6 開放的系統(tǒng) 927.7 可靠的本土支持 93第第 8 8 章逐點應(yīng)答

3、章逐點應(yīng)答 94948.1 功能性要求 948.2 非功能性要求 998.3 實施服務(wù)要求 110第第 9 9 章建議章建議 1131139.1 選擇開放性的工具 1139.2 與應(yīng)用緊密集成 113 4 / 949.3 基于實際業(yè)務(wù)報表進行測試 114附:某保險公司統(tǒng)計報表系統(tǒng)實際測試報告附:某保險公司統(tǒng)計報表系統(tǒng)實際測試報告 115115 5 / 94第第 1 1 章章總體說明總體說明1.11.1 潤乾報表軟件概述潤乾報表軟件概述潤乾報表是用于統(tǒng)計報表制作與數(shù)據(jù)填報的大型企業(yè)級報表軟件,它提供了高效的報表設(shè)計方案、強大的報表展現(xiàn)能力、靈活的部署機制,并且具備強有力的填報功能,配合以全面的用

4、戶權(quán)限管理、報表調(diào)度功能和交互功能,為企業(yè)級統(tǒng)計分析、展現(xiàn)提供了高性能、高效率的報表系統(tǒng)解決方案。潤乾報表軟件的核心特點在于開創(chuàng)性地提出了新一代報表數(shù)學(xué)模型,采用了革命性的多源分片、不規(guī)則分組、自由格間運算、行列對稱等技術(shù),使得復(fù)雜報表的設(shè)計簡單化,以往難以實現(xiàn)的報表可以輕松實現(xiàn),避免了大量的復(fù)雜 SQL 編寫與前期數(shù)據(jù)準(zhǔn)備,報表設(shè)計的效率提高了一個數(shù)量級。潤乾報表是一個純 Java 報表工具,提供了全面的 API 接口,是開發(fā) Web 報表軟件的理想選擇。Java 報表工具的跨平臺特性,使得它能良好地支持大型系統(tǒng)的需要。潤乾報表不需安裝控件,可以實現(xiàn)純 HTML 報表方式,可以支持 PDF,

5、EXCEL 等輸出,提供了全面的頁面與打印控制,能很多地滿足 Web 報表的展現(xiàn)需要。同時,潤乾報表對圖表有良好的支持,可以生成柱圖、餅圖、折線圖等二十幾種圖表。潤乾報表提供基于動態(tài)庫表關(guān)聯(lián)技術(shù)的填報功能,完美解決數(shù)據(jù)入庫的難題,極大提高填報表單的處理效率,擴展了 Web 報表工具的應(yīng)用方式。潤乾報表提供了報表管理中心,可以對報表建立多層次的目錄管理,進行全面的用戶和基于角色的權(quán)限管理。潤乾報表還提供了調(diào)度器模塊,可以實現(xiàn)定時、批量等報表自動處理和報表的自動分發(fā)。 6 / 941.21.2 產(chǎn)品構(gòu)成產(chǎn)品構(gòu)成1.2.11.2.1基礎(chǔ)部件基礎(chǔ)部件潤乾報表由兩大核心部分組成:報表設(shè)計器報表設(shè)計器:設(shè)

6、計編輯報表,自帶報表運算引擎,連接數(shù)據(jù)庫后可預(yù)覽打印報表,并可生成其它格式保存。設(shè)計器不依賴于其它部分,可獨立工作;設(shè)計器以 Java 應(yīng)用程序(JavaApplication)的形式提交。報表服務(wù)器報表服務(wù)器:在后臺提供統(tǒng)計報表運算和數(shù)據(jù)填報處理的服務(wù),開放各層次的 API 接口調(diào)用,由程序員調(diào)用生成結(jié)果報表;服務(wù)器運行不依賴設(shè)計器;服務(wù)器以 Java 類包(jar)的形式提交,一般情況下不需要物理上的獨立服務(wù)器。1.2.21.2.2可選組件可選組件除基本部件外,潤乾報表還提供如下可選組件:報表管理中心報表管理中心:一個簡單的獨立報表管理應(yīng)用,處理用戶角色權(quán)限控制、功能組織等,終端用戶可直接

7、采用該組件完成報表管理、查閱、填報等工作,報表管理中心運行依賴于報表服務(wù)器。報表調(diào)度器報表調(diào)度器:作為服務(wù)程序運行,在設(shè)定的時刻自動計算報表并將結(jié)果保存或推送到指定的目標(biāo),報表調(diào)度器運行依賴于報表服務(wù)器;集成(遠(yuǎn)程)設(shè)計支持集成(遠(yuǎn)程)設(shè)計支持:包括基于 協(xié)議的 JDBC 接口、基于 WebStart 技術(shù)的設(shè)計器封裝包和可編程的設(shè)計器遠(yuǎn)程文件訪問接口?;谠摻M件可將報表設(shè)計器集成于用戶的統(tǒng)一門戶管理之(B/S 或 C/S 均可)、實現(xiàn)遠(yuǎn)程報表設(shè)計、統(tǒng)一管理報表模板文件等功能;WindowsWindows 展現(xiàn)控件展現(xiàn)控件:包括應(yīng)用于 Windows GUI 程序的 ActiveX 控件、生成

8、EXCEL/PDF 流的 DLL 調(diào)用與相關(guān)后臺的服務(wù)程序,基于該組件可將報表運算結(jié)果以控件形式顯示于 Windows GUI 程序中。 7 / 94UNIXUNIX 的的 C C 接口接口:包括后臺服務(wù)程序與前端通訊的 C 程序,通訊部分的 C 代碼以源碼形式提交(.H 和.C 文件),基于該組件,可將報表應(yīng)用于 UNIX 下的C 程序中。 8 / 94第第 2 2 章章新一代報表模型新一代報表模型2.12.1 數(shù)據(jù)統(tǒng)計模型數(shù)據(jù)統(tǒng)計模型數(shù)據(jù)統(tǒng)計模型是報表工具最重要的指標(biāo),它決定了報表工具最基本的制表能力,即在不編代碼的情況下能夠制作出何種報表。事實上,市場上的眾多傳統(tǒng)報表產(chǎn)品在處理復(fù)雜報表時

9、確實存在明顯缺陷,大量報表仍需編寫代碼準(zhǔn)備數(shù)據(jù)。潤乾報表開創(chuàng)性地提出了新一代數(shù)據(jù)統(tǒng)計模型,采用全新的概念方法比較徹底地解決了中國復(fù)雜報表中的各項問題。2.1.12.1.1多源分片多源分片多源分片多源分片是中國復(fù)雜報表的基本特征。多源多源是指一個報表的數(shù)據(jù)來源來自多個物理數(shù)據(jù)表(或類似數(shù)據(jù)體) ,甚至是多個物理數(shù)據(jù)庫。這里的“多個”常常不是兩個三個,而是七八個乃至十幾個。傳統(tǒng)工具的基本報表單元只支持單源報表,需要在報表設(shè)計前將多源轉(zhuǎn)化成單源處理。兩三個源尚可寫 SQL 語句完成(JOIN 或 UNION 等) ,但多到五六個源以上時,一方面對應(yīng)的 SQL 語句過于復(fù)雜難以維護,另一方面運行效率也

10、很低,這時常常要編寫存儲過程或其它代碼來準(zhǔn)備數(shù)據(jù)了。如果多源來自多庫,則更為復(fù)雜,無法直接寫出復(fù)雜 SQL 或存儲過程,需要架構(gòu)專門的數(shù)據(jù)庫橋后才可以完成。某些傳統(tǒng)工具也所聲稱的支持多源,實際上就是指多數(shù)據(jù)庫支持,把數(shù)據(jù)庫橋功能集成進入報表工具中,但真正到報表設(shè)計時仍然只能單源。多源往往帶來分片,正是由于分片,使得報表設(shè)計必須直接基于多源進行,而不能先將多源轉(zhuǎn)成單源進行。有相當(dāng)一部分分片報表無論如何也不可能換成單源處理,部分能轉(zhuǎn)成單源的報表處理也非常繁瑣。分片分片是指報表的縱向或橫向或雙向同時被分成了多個區(qū)域,每個區(qū)域擴展重復(fù)規(guī)則不同,而又可能相互運算。 9 / 94傳統(tǒng)工具能夠處理的上下格式

11、一致和列方向固定的分片報表(即可由多源轉(zhuǎn)成單源的報表),但會迫使用戶編寫復(fù)雜的 SQL(UNION+JOIN)和代碼準(zhǔn)備數(shù)據(jù),導(dǎo)致工作量大且維護困難;對于橫向分片數(shù)較多報表,由于必須采用 JOIN 方式準(zhǔn)備數(shù)據(jù),關(guān)聯(lián)條件復(fù)雜時很可能導(dǎo)致出 O(Nk)的高計算復(fù)雜度(k 為分片數(shù)) ,性能很低。表 1 是個典型的縱向分片報表,數(shù)據(jù)區(qū)從上至下分成了幾片,先是一片按客戶匯總的兩級分組區(qū)域,然后是兩個固定計算行,接下來又是一片按年度匯總的一級分組區(qū)域,最后又是一個固定的合計行。各片分組層數(shù)不同,而且變動與固定固定結(jié)合,而且各片之間還有數(shù)據(jù)溝通(某些計算行的值是由其它行計算出來的) 。這種上下格式不一致

12、的報表,其數(shù)據(jù)源不可能組織成單源(各片列數(shù)不同) ,也就不可能被傳統(tǒng)工具實現(xiàn)。表 1我們把表 1 橫過來擺形成表 2,成為一個橫向分片表。類似的,也是有兩片分組 10 / 94層數(shù)不同的變列區(qū)域和幾個固定的計算列混合而成。傳統(tǒng)工具只提供比較死板的交叉報表模型處理變列報表,其中的集合運算只有固定的幾種選擇,不可隨意加列,更不可能有多片變列區(qū)域,而這種復(fù)雜的動靜混合交叉表就只能手工編程動態(tài)加列實現(xiàn)。表 2為了解決多源分片的問題,許多傳統(tǒng)工具引入了子報表的概念。把每個分片做成一個子表,然后再在主表中拼接起來。如上述的表 1 理論上是可以通過子表拼接完成,但實際上仍非常煩瑣。子表割裂了整表的一致性,一

13、報表被分成了多個小表,難以統(tǒng)一處理,給維護管理工作帶來麻煩。從格式上看,各個子表各自獨立,很難將格線統(tǒng)一對齊,某個子表的格式進行了調(diào)整,所有其它子表都需要改動,這是極其繁瑣的工作。而且每個子表的大小不固定(可能隨數(shù)據(jù)記錄數(shù)而變化) ,由于傳統(tǒng)工具的行列不對稱(下面還會談到) ,縱向排列的幾個子表可以自動擺位,而橫向則不行,如上述的表 2 即使用子表也無法完成(數(shù)據(jù)可以拼出,但格式無法拼出) 。而且,主子表之間和子表相互之間都無法溝通數(shù)據(jù),只能將主表的數(shù)據(jù)作為參數(shù)傳遞給子表,子表無法帶回信息,也無法向其它子表提供信息。這時,整表的混合運算將非常困難,必須單獨計算,無法采用某些子表的中間運算結(jié)果,

14、不僅書寫復(fù)雜,運算效率也降低。 11 / 94表 3 就是個典型的主從表,當(dāng)然也是典型的多源分片報表。主記錄中的金額顯然是明細(xì)信息中各產(chǎn)品金額的和,而在傳統(tǒng)工具的主子表模型中,主表的合計值不能引用子表的數(shù)據(jù),必須自行重新計算。表 3潤乾報表則直接支持多源(集)設(shè)計,在同一報表中可同時引用多個數(shù)據(jù)集,摒棄了傳統(tǒng)死板的條帶式擴展模型,而代之以獨創(chuàng)的單元格擴展方案單元格擴展方案,各數(shù)據(jù)集即可以獨立擴展,也可以相互引用,擴展部分與固定部分可自由結(jié)合;而特有的主格關(guān)聯(lián)主格關(guān)聯(lián)技術(shù)則可靈活地決定各級統(tǒng)計的圍,保證匯總運算的合理性與正確性。表 1 在潤乾報表中將如下設(shè)計:需要根據(jù)數(shù)據(jù)變動的行(5/6 行)采

15、用單元格擴展(B5/C5 格)機制(其中的ds1.group 函數(shù)即負(fù)責(zé)擴展重復(fù)) ,而中間的固定行(8-11 行)則可直接寫上,下一片變動行(13/14 行)又采用單元格擴展(B13 格)進行(ds4.group 函數(shù)) ,兩片擴展分別基于不同的數(shù)據(jù)集(ds1 和 ds4) ,且層數(shù)不同,右邊的 sum 運算中還能引用這些格值,整個報表即分片又統(tǒng)一,完美地解決了多源分片問題。 12 / 94完成表 2 只要簡單地將相關(guān)的擴展單元格改變位置和方向即可,如下圖所示,潤乾報表在行方向的擴展能力能夠完全應(yīng)用在列方向上(橫向擴展) ,使得中國報表中常見的橫向分片、多片變動、動靜結(jié)合的問題很容易解決。對

16、于表 3 這種主子表,在潤乾報表無需借助子表概念完成,明細(xì)表(8-10 行)本身可以自行擴展重復(fù),而且由于了設(shè)置主格關(guān)聯(lián),整片明細(xì)表會自動跟隨主記錄重復(fù),而且主細(xì)表間可自由溝通信息,如 E3 格中的金額合計可直接由 G9 格中金額明細(xì)計算出來(表達式 SUM(G9)) 。 13 / 942.1.22.1.2不完全劃分不完全劃分不完全劃分不完全劃分是中國復(fù)雜報表中的典型特征之一。傳統(tǒng)工具中的數(shù)據(jù)分組延用了關(guān)系數(shù)據(jù)庫中的相應(yīng)概念,為完全規(guī)則劃分完全規(guī)則劃分,即劃分標(biāo)準(zhǔn)一致且有規(guī)則(一般都按某個字段或表達式) ,所有事實都必須出現(xiàn)且只出現(xiàn)一次,分組值次序與原數(shù)據(jù)記錄次序一致。與完全劃分相反,在報表匯

17、總中卻常常需要不規(guī)則劃分,即劃分標(biāo)準(zhǔn)看不出規(guī)律(常常只能窮舉) ,所有事實不一定全部出現(xiàn)在分組結(jié)果中、個別事實還可能重復(fù)出現(xiàn),次序也與原數(shù)據(jù)記錄無關(guān)。固定固定分組是不規(guī)則劃分的常見表現(xiàn)。表 4 14 / 94表 4 是個含有不規(guī)則劃分的人員統(tǒng)計表(同時也是個分片報表) 。年齡段的分組就是個不規(guī)則劃分,劃分規(guī)律不明確,只能窮舉出來;分組不完全,沒有列出所有的部門,每個一級部門中還可能有一些不屬于任何二級部門的人(其他類) 。表 5表 5 則是另一種形態(tài)的不規(guī)則劃分報表。它的地區(qū)分組有三個特點:華北部分地區(qū)中未包括,出現(xiàn)了不完全分組不完全分組;和有重復(fù)的部分,出現(xiàn)了可重分組可重分組;而且地區(qū)次序是

18、確定這樣排列的,和數(shù)據(jù)記錄的次序無關(guān),是個典型的固定行分組報表。這兩個報表用傳統(tǒng)工具實現(xiàn)都較為困難,雖然報表格式并不復(fù)雜,但由于出現(xiàn)了不規(guī)則劃分,無法直接用報表工具的分組功能完成,只能編程把數(shù)據(jù)準(zhǔn)備成一個單層的二維表數(shù)據(jù)源,即加大了工作量,又很難體現(xiàn)數(shù)據(jù)之間的層次關(guān)系。潤乾報表為分組運算提供更多的過濾和排序選項,可生成不完全分組;采用建數(shù)據(jù)集分組技術(shù)可以很好地完成固定分組與可重分組的問題,而特有的 plot 集合函數(shù)則解決了按段分組的困難。表 4 可采用 plot 函數(shù)進行如下設(shè)計: 15 / 94C4 格中的 plot 函數(shù)負(fù)責(zé)完成按段分組,可隨意填寫分段方案;A5 格的分組擴展可加上過濾條

19、件;B5 格擴展出有規(guī)律的二級部門,而其他類則可單列一行,其計算公式可與上面的格分別填寫(C5/C6 格) 。表 5 則可以采用建數(shù)據(jù)集處理固定可重分組:先根據(jù)報表展現(xiàn)的行設(shè)計建數(shù)據(jù)集與之一一對應(yīng),然后在報表設(shè)計中采用建數(shù)據(jù)集進行擴展(A5 格) ,同行上其它各格的計算值都引用該格值(B5-H5) ,從而輕松地完成了固定可重分組報表。 16 / 942.1.32.1.3自由格間運算自由格間運算除不完全劃分外,自由格間運算自由格間運算是中國復(fù)雜報表另一個典型特征。所有的報表工具都會提供一些計算列的功能,在原始數(shù)據(jù)基礎(chǔ)上再計算出一些別的列值或統(tǒng)計值,這是報表展現(xiàn)中是不可缺少的功能。傳統(tǒng)工具一般只提

20、供同行的格間運算和針對某組(或全體)的集合運算,對于常見的跨行組運算跨行組運算則相當(dāng)困難。個別傳統(tǒng)工具提供了簡單的跨行能力,如可以引用上一行數(shù)據(jù),而跨組則無能為力;對于集合運算只提供個別固定的函數(shù),如取第一名、算累計值等,無法組合出通用集合運算,如取第二名、算累計的乘積等。某些帶條件的運算更是無法處理,如計算語文成績在 90 分以上的同學(xué)的數(shù)學(xué)成績總和。除了有規(guī)律的跨行組運算外,報表中還可能會有一些隨意的獨立格運算獨立格運算,其值可能是報表中的任意幾個其它格運算出來,甚至還可能會引用到報表外的數(shù)據(jù)(比如和數(shù)據(jù)庫中的數(shù)據(jù)再次運算等) 。由于傳統(tǒng)工具沒有很好的運算后報表數(shù)據(jù)項命名機制運算后報表數(shù)據(jù)

21、項命名機制(傳統(tǒng)工具只能用列名命名設(shè)計階段的數(shù)據(jù)單元) ,很難精確描述數(shù)據(jù)引用關(guān)系,只能寫出規(guī)律性很強的表達式,但隨意的獨立格運算會就使傳統(tǒng)工具無法處理,而報表外的數(shù)據(jù)引用更是只能借助腳本或外圍應(yīng)用程序,導(dǎo)致代碼極為混亂。表 6 是個典型的跨行組運算報表,其中有比上期(跨行)和比去年同期(跨組)運算,這種報表在傳統(tǒng)工具中常常又必須編程準(zhǔn)備數(shù)據(jù)。表 7 則展現(xiàn)了另一些自由格間運算,如計算排名,需要在同組中數(shù)出比當(dāng)前值大的數(shù)的個數(shù)。下方的幾個獨立格中又引用了表格中數(shù)據(jù),但又非整組全部引用,而是帶了某種條件(前三名) ,最下方的一個格中還會引用到報表外的數(shù)據(jù)(市的全部銷售額不在報表中) 。 17 /

22、 94表 6表 7這兩個報表的樣式都不復(fù)雜,但這些格間運算會讓傳統(tǒng)工具非常為難。只能再次依靠程序代碼,把數(shù)據(jù)事先計算好直接往報表里填。潤乾報表則開創(chuàng)性地提出了單元格層次坐標(biāo)與相關(guān)格集的概念,可以則擴展后的每個單元格或格集進行精確命名,即可在設(shè)計時自由引用任何一個擴展后單元格,而且還可以方便地嵌入 SQL 或其它函數(shù)以引用外部信息。表 6 在潤乾報表中將如下設(shè)計: 18 / 94D3 格中的 C3-1和 E3 格中的 C3A3:-1,B3:+0即是層次坐標(biāo)寫法,用以精確定位擴展后的每個單元格,從而使得跨行組運算可以方便地進行。 ,表 7 在潤乾報表中的的設(shè)計方案:C4 格的表達式中應(yīng)用了層次坐標(biāo)

23、和相關(guān)格集概念,用以計算其對應(yīng)的 B4 在擴展后的 B4 格組(擴展后會有多個 B4)的次序(E4 和 F4 的關(guān)系類似) 。B6 表達式中有帶條件的引用(C4=3,即前三名) ,B7 格中又引用了另一個數(shù)據(jù)集 ds 的值。整個報表的格間運算非常自由,而潤乾報表也能夠輕松處理。2.1.42.1.4行列對稱行列對稱另外,所有以上的討論中還貫穿了一點,即行列對稱行列對稱??v方向上擁有的自動復(fù)制擴展的能力需要完全實現(xiàn)在橫方向上。報表可以橫向分組、橫向分片,對于橫向變列的報表可以定義跨列組運算等。傳統(tǒng)工具有行式表和交叉表兩種互不通用的模型,行式表完全不支持列向變動;而交叉表非常死板,雖然可以支持多層變

24、列,但只能有一片變列區(qū),而且其中的匯總運算很簡單,只有固定的一些函數(shù),不可隨便增加運算行列。傳統(tǒng)工具的行列嚴(yán)重不對稱,列方向能力遠(yuǎn)遠(yuǎn)弱于行方向,稍復(fù)雜些的交叉表無法實現(xiàn)。傳統(tǒng)工具還習(xí)慣于把報表分成幾種孤立的類型,如網(wǎng)格報表、分組報表、主從報表、交叉報表等,某種類型的報表可以解決某種問題。但事實上,報表的上述復(fù)雜性 19 / 94常常是混合在一起的,同一報表中很可能包含了所有的問題,這要求我們給出完整的解決方案,而不能單獨分別處理。當(dāng)這幾種困難交織到一起時,整個問題的復(fù)雜度要遠(yuǎn)比解決幾個單個問題的總和要大得多。而潤乾報表則天然行列對稱,行方向擁有的數(shù)據(jù)擴展能力在列方向也都有,所有報表均在統(tǒng)一的處

25、理模型下完成,無須專門的交叉表處理方案,在交叉表中也可以自由編寫匯總表達式。中國復(fù)雜報表的各種困難在潤乾報表中統(tǒng)一在一起得到了充分的解決。2.22.2 數(shù)據(jù)填報模型數(shù)據(jù)填報模型數(shù)據(jù)填寫是中國報表應(yīng)用中的一個重要需求,廣泛應(yīng)用于金融業(yè)和政府行業(yè)。而相當(dāng)多的報表工具(特別是國外產(chǎn)品)完全不支持?jǐn)?shù)據(jù)填寫報送。而潤乾報表則有非常出色的數(shù)據(jù)填報能力。同統(tǒng)計匯總類似,填報解決方案中最關(guān)鍵的因素仍然是數(shù)據(jù)模型,通俗地說,就是數(shù)據(jù)如何寫入數(shù)據(jù)庫的方案。填報本身不是目的,填報是為了采集數(shù)據(jù)上來分析利用,因此需要將填報收集的數(shù)據(jù)直接按其邏輯結(jié)構(gòu)提交到開放的關(guān)系型數(shù)據(jù)庫中,才能有效地被其他應(yīng)用系統(tǒng)和統(tǒng)計分析系統(tǒng)所利

26、用。2.2.12.2.1傳統(tǒng)方案的缺陷傳統(tǒng)方案的缺陷有個別國傳統(tǒng)報表工具能夠支持?jǐn)?shù)據(jù)填寫,一般有三種方式處理數(shù)據(jù)入庫。采用中間文件,填寫結(jié)果寫入一個中間數(shù)據(jù)文件(如 EXCEL 填報),某些填報方案能提供少量一些基于這些中間文件的統(tǒng)計匯總,但要完全利用則須將這些數(shù)據(jù)進行結(jié)構(gòu)化成后轉(zhuǎn)存到關(guān)系數(shù)據(jù)庫中。而將非結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)成可以體現(xiàn)業(yè)務(wù)規(guī)則的結(jié)構(gòu)化數(shù)據(jù)是比較困難的工作,需要為每種報表編寫相應(yīng)程序去處理。 20 / 94采用固定的數(shù)據(jù)結(jié)構(gòu),填報方案提供一種“萬能”的數(shù)據(jù)結(jié)構(gòu)將填好的數(shù)據(jù)寫入,其數(shù)據(jù)結(jié)構(gòu)常常是只有三個字段行號/列號/數(shù)值,或與之類似),這種方法只是機械地將數(shù)據(jù)寫入了數(shù)據(jù)庫,數(shù)據(jù)結(jié)構(gòu)并未

27、沒有體現(xiàn)業(yè)務(wù)規(guī)則,在使用時仍要再次進行轉(zhuǎn)換工作。根據(jù)業(yè)務(wù)規(guī)則設(shè)計要保存的數(shù)據(jù)結(jié)構(gòu),然后根據(jù)數(shù)據(jù)結(jié)構(gòu)設(shè)計要填寫的報表,每個要填寫單元格的數(shù)據(jù)都有唯一對應(yīng)數(shù)據(jù)庫的字段,這樣在入庫時就可以直接寫成結(jié)構(gòu)化的數(shù)據(jù)。這種方案的入庫機制是合理的,但報表是根據(jù)數(shù)據(jù)結(jié)構(gòu)設(shè)計的,而庫表對應(yīng)關(guān)系常常都非常簡單,結(jié)果導(dǎo)致報表不可自由繪制,只能提供簡單的幾種死板表樣,不能滿足用戶需求。某些傳統(tǒng)填報方案的數(shù)據(jù)回填機制所有這些填報方案的主要問題是無法解決能體現(xiàn)業(yè)務(wù)規(guī)則的數(shù)據(jù)表與報表單元格之間的匹配關(guān)系。從而導(dǎo)致前期報表設(shè)計或者后期數(shù)據(jù)入庫的極大困難。而潤乾報表獨創(chuàng)的自由庫表關(guān)聯(lián)技術(shù)則很好地解決了這一問題。2.2.22.2.

28、2自由庫表關(guān)聯(lián)自由庫表關(guān)聯(lián)潤乾報表的填報表允許數(shù)據(jù)庫表列與報表的單元格之間進行任意匹配,設(shè)計報表樣式時不需要考慮數(shù)據(jù)結(jié)構(gòu),反之設(shè)計數(shù)據(jù)結(jié)構(gòu)時也只需要考慮業(yè)務(wù)規(guī)則而不用管報 21 / 94表樣式,任意的報表樣式和數(shù)據(jù)結(jié)構(gòu)之間都能建立起對應(yīng)關(guān)系。而且這些對應(yīng)關(guān)系還有自動擴展的能力,即有規(guī)律的表區(qū)只要設(shè)置一遍基本的對應(yīng)關(guān)系,表區(qū)中其它單元格與數(shù)據(jù)庫的對應(yīng)關(guān)系可以自動擴展出來。如行式表填報時,只需要設(shè)置某一行的庫表對應(yīng)關(guān)系,其它行都可以自動擴展,而交叉表則只要設(shè)計某一格的對應(yīng)關(guān)系即可,其它格也可以自動擴展出來??偨Y(jié)起來說,就是任意匹配,自動擴展任意匹配,自動擴展。主從填報(自由/行式混合)交叉填報 2

29、2 / 942.2.32.2.3數(shù)據(jù)來去自由數(shù)據(jù)來去自由潤乾報表的填報方案還支持自由的數(shù)據(jù)來去方案,具體地講,就是有來有去,來有來有去,來去無關(guān),一來多去去無關(guān),一來多去。如下圖所示:單元格中的數(shù)據(jù)都有來源,現(xiàn)實中常常需要制作多級匯總填報表,某一中間層的填報表是先由下級統(tǒng)計出來的,而非空白格子,這樣就要求單元格的數(shù)據(jù)要有個來源;填寫的數(shù)據(jù)要入庫,則需要有個去處,來源和去處經(jīng)??赡苁菬o關(guān)的,如可以將從 A表中統(tǒng)計出來的結(jié)果修改后填入 B 表;而且一個單元格的去處可以有多個(來源當(dāng)然不可能有多個) ,可以同時寫入 B1 表、B2 表、,甚至可能是多個數(shù)據(jù)庫(如同一批企業(yè)數(shù)據(jù)要同時寫給稅務(wù)部門和統(tǒng)計

30、部門) 。 23 / 94第第 3 3 章章功能詳細(xì)描述功能詳細(xì)描述3.13.1 報表設(shè)計報表設(shè)計3.1.13.1.1類類 EXCELEXCEL 的報表設(shè)計方式的報表設(shè)計方式類類 EXCELEXCEL 的編輯的編輯潤乾報表采用類 EXCEL 的方式進行報表的繪制和編輯,如下圖:潤乾報表主編輯界面采用類 EXCEL 的可視化網(wǎng)格式編輯方案,不僅可所見即所得地繪制出復(fù)雜表樣,而且可免去傳統(tǒng)控件拖拽式編輯方式對齊數(shù)據(jù)項的繁瑣,在保證格式的整齊美觀的同時大幅提高繪制效率,避免打印與顯示因分辨率不一致而出現(xiàn)的失真現(xiàn)象。另外,熟悉 EXCEL 使用的人員相當(dāng)多,更易于報表繪制工作的上手。這種方案已逐步成為

31、報表樣式繪制的主流。 24 / 94讀入讀入 EXCELEXCEL 文件文件潤乾報表還可直接讀入 EXCEL 繪制好的報表格式,然后在報表設(shè)計器中進一步修改,以充分保護用戶以往在 EXCEL 上的積累,大大減少重復(fù)工作。Excel 原表潤乾報表直接讀入 EXCEL 報表格式(文檔類型即為 xls)公式調(diào)整公式調(diào)整潤乾報表在編輯過程中能夠象 EXCEL 一樣自動調(diào)整公式,如在單元格 B1 中引用了C1,當(dāng) B 列和 C 列間插入一列時,引用的 C1 將會自動變成 D1,這對于報表中表達式 25 / 94編輯非常必要。 原報表,B2 中的表達式引用了 C2 和 D3在 C 列前插入一列后,B2 格

32、的表達式自動調(diào)整界面與基本功能界面與基本功能潤乾報表提供了非常美觀的外觀界面,可有多種配色風(fēng)格。產(chǎn)品采用全中文菜單和對話框,常用的編輯手段均有快捷工具條以提高設(shè)計效率。在編輯過程中,提供縮放編輯功能,可以根據(jù)需要靈活設(shè)置縮放比例,更方便地進行報表的格式調(diào)整。在報表設(shè)計器中,可直接預(yù)覽報表,并打印或?qū)С龀?EXCEL/PDF 等外部文件格式。3.1.23.1.2單元格類型單元格類型潤乾報表的單元格支持如下類型:普通文本:一般的數(shù)值和文字,可以支持斜線。這種類型可以通過象 EXCEL一樣的表達式,從數(shù)據(jù)庫中提取數(shù)據(jù)和進行各種計算。該類單元格的顯示值可與數(shù)據(jù)值分開,從而實現(xiàn)部代碼與顯示之間的對應(yīng),顯

33、示容可來自固定列表,也可來自數(shù)據(jù)庫中的字典表圖片文件:固定的圖片,如企業(yè) LOGO圖片字段:來自數(shù)據(jù)庫字段的圖片,如人員照片子報表:該單元格中將嵌入或引入一個子報表統(tǒng)計圖:該單元格中將嵌入一個統(tǒng)計圖 26 / 94HTML 文本:該單元格的文字(或表達式的運算結(jié)果)將被理解成為一段HTML 代碼,在報表 WEB 展現(xiàn)時將被嵌入整個報表的 HTML 文本中,從而可實現(xiàn)用戶自定義的顯示或編輯方案通過各種類型的單元格,可以在報表中添加各種元素,實現(xiàn)各種復(fù)雜的報表。潤乾報表的單元格類型帶斜線和圖片的報表(編輯畫面),D1 格是個圖片字段帶斜線和圖片的報表(運算畫面) ,D1 格已被運算成圖片3.1.3

34、3.1.3套打繪制與相關(guān)功能套打繪制與相關(guān)功能底圖描繪實現(xiàn)套打繪制底圖描繪實現(xiàn)套打繪制潤乾報表采用底圖描繪的方案解決套打時的報表繪制問題??蓪⑿枰状虻钠睋?jù)掃描成圖片,作為報表設(shè)計的底圖,然后依照圖片上格線進行報表描繪,可保證繪制出的報表能夠精確地套打進入印刷票據(jù)中。 27 / 94底圖描繪方式進行套打繪制(下面的表格是個底圖)精確度量等精確度量等潤乾報表提供以毫米為單位的精確度量,可保證報表的繪制和輸出完全與紙精準(zhǔn)一致。并會根據(jù)紙大小在設(shè)計界面中畫出紙邊虛線,以提示設(shè)計人員分頁位置。3.1.43.1.4多數(shù)據(jù)源多數(shù)據(jù)源潤乾報表天然支持多數(shù)據(jù)源,同一報表的數(shù)據(jù)來源可以是多個數(shù)據(jù)集甚至是多個數(shù)據(jù)

35、庫或是用戶自定義的數(shù)據(jù)集。通過這一功能,不僅可以采集來自不同來源的數(shù)據(jù),更重要的是在潤乾報表中可以在報表直接使用多個不同數(shù)據(jù)集,而不需要強行用復(fù)雜的視圖把它們連接在一起,從而大大提高了報表設(shè)計效率和提高了靈活性。 28 / 94潤乾報表多數(shù)據(jù)源 數(shù)據(jù)源的定義畫面潤乾報表支持各種數(shù)據(jù)集(SQL/存儲過程/文件/自定義/建/OLAP SERVER)3.1.53.1.5建數(shù)據(jù)集建數(shù)據(jù)集潤乾報表支持建數(shù)據(jù)集,即某個數(shù)據(jù)集的數(shù)據(jù)被寫進報表模板文件之中,建數(shù)據(jù)集和外部數(shù)據(jù)集有完全同樣的運算,如擴展、過濾等。建數(shù)據(jù)集可有如下應(yīng)用:完成不規(guī)則劃分完成不規(guī)則劃分大量中國復(fù)雜報表均可能有不規(guī)則劃分要求(比如選擇若

36、干個城市顯示相關(guān)的數(shù)據(jù)) ,潤乾報表可以將這些不規(guī)則劃分(如可重分組、固定分組)方案設(shè)置進僅于當(dāng)前報表相關(guān)的建數(shù)據(jù)集中,而不必在數(shù)據(jù)庫中創(chuàng)建冗余的數(shù)據(jù)表或視圖??蓞⒁?2.1.2 中的例子。脫機瀏覽脫機瀏覽 29 / 94潤乾報表提供將外部數(shù)據(jù)集轉(zhuǎn)換為建數(shù)據(jù)集的功能,這樣即可將已做好的報表數(shù)據(jù)源綁定進報表,從而做到脫機(不連接數(shù)據(jù)庫)運算和瀏覽,這一功能對于遠(yuǎn)程調(diào)試報表有巨大幫助(遠(yuǎn)程技術(shù)人員可以不必依賴于用戶的數(shù)據(jù)環(huán)境而調(diào)試報表中的錯誤)建數(shù)據(jù)集綁定報表數(shù)據(jù)以實現(xiàn)脫機運算和瀏覽3.1.63.1.6表達式與函數(shù)表達式與函數(shù)表達式表達式潤乾報表支持基于數(shù)據(jù)集和基于單元格的兩類表達式,并且可以混合

37、書寫,如ds1.sum( amount );B3+C3+sum(D3); ds1.select( id, typeid=C2)等函數(shù)函數(shù)潤乾報表提供六類系統(tǒng)函數(shù):數(shù)據(jù)集函數(shù)、單元格函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、日期時間函數(shù)、轉(zhuǎn)換函數(shù)。同時也允許用戶自定義 JAVA 函數(shù)。潤乾報表的函數(shù)功能非常強大,除了常規(guī)的計算函數(shù)外,更能針對報表和統(tǒng)計分析的需要提供了特有的集合處理函數(shù)集合處理函數(shù),可用以實現(xiàn)報表自動擴展、分組等變化。例如,潤乾報表提供 plot 函數(shù)實現(xiàn)中國復(fù)雜報表中常見的按段分組需求,除分組方案外, 30 / 94plot 函數(shù)與普通分組函數(shù)一致,也可以實現(xiàn)多層或交叉分段匯總。例子可參見

38、2.1.2節(jié)。3.1.73.1.7分片混合擴展與相關(guān)引用分片混合擴展與相關(guān)引用潤乾報表摒棄傳統(tǒng)條帶擴展方案而采用單元格擴展機制,可以很容易完成同一報表中的分片擴展(并列或?qū)哟尉桑?,并可實現(xiàn)固定行列與變動行列混合編排。各擴展片之間還可相互引用數(shù)據(jù)而并非完全無關(guān)。例子可參見 2.1.1 節(jié)。3.1.83.1.8靈活快捷的分組匯總靈活快捷的分組匯總潤乾報表可簡單完成帶有多級分組與匯總的普通行式報表,采用單元格分組函數(shù)實現(xiàn)分組擴展,沒有明顯的分組區(qū)域,從而在增刪分組或改變分組次序時不必象傳統(tǒng)報表工具需要重新設(shè)計分組區(qū)數(shù)據(jù)表達式。潤乾報表獨創(chuàng)的主格關(guān)聯(lián)機制決定了統(tǒng)計匯總的圍,匯總表達式可以擺放在報表

39、中任何合理的位置(分組上/下邊或在分組明細(xì)同行合并成一個大格) 。帶分組合計的行式報表(設(shè)計)潤乾報表的分組采用數(shù)據(jù)集 group 函數(shù)完成(A4/B4 格中的表達式),沒有傳統(tǒng)的分組區(qū)域。合計表達式(E5/E6/I4/J4)可以放在任何地方(分組下邊或右邊) ,由主格關(guān)系機制決定其運算圍,而不是由位置來控制。還可以實現(xiàn)跨行組的序號大排隊(C4格) 。該報表運算結(jié)果如下: 31 / 94帶分組合計的行式報表(運行)3.1.93.1.9行列對稱的擴展機制行列對稱的擴展機制潤乾報表行列對稱設(shè)計,無須專門的交叉表模型處理列向變動的報表。多層、分片交叉報表均可輕松實現(xiàn),并可類似行式報表一樣編寫自由的匯

40、總運算。多層交叉帶匯總報表(設(shè)計)上面報表中,A5/B5 格運行縱向擴展,D3/D4 格進行橫向擴展,雙向擴展后即可形 32 / 94成交叉報表,中間部分的匯總運算仍是自由填寫的表達式(其中可引上左/上表頭的單元格值) ,而不必象傳統(tǒng)工具那樣必須是規(guī)定好的幾種運算,充分體現(xiàn)行列對稱的思想。運算結(jié)果如下:多層交叉帶匯總報表(運行)3.1.103.1.10層次座標(biāo)層次座標(biāo)潤乾報表發(fā)明的層次坐標(biāo)和位移坐標(biāo)概念能夠?qū)U展后單元格/集進行命名,從而可以在表達式中精確描述出對其它單元格的引用,完美地解決自由格間運算。有規(guī)律的單元格跨行組運算可輕松實現(xiàn),對于無規(guī)則的任意運算,潤乾報表還提供類 EXCEL式的

41、格間運算。層次坐標(biāo)的例子參見 2.1.3 節(jié)。 33 / 943.1.113.1.11子報表子報表潤乾報表支持不限嵌套層數(shù)的子報表功能。子報表分為引入式和嵌入式兩種,引入式將子表數(shù)據(jù)和格式依次填報主表的單元格中,而嵌入式則將整個子表縮放后嵌入到主表的某個單元格中。嵌入式 主報表定義 子報表定義嵌入式子報表運行結(jié)果(主子表的格線不對齊) 34 / 94引入式 主報表定義子報表 1子報表 2 子報表 3引入式子報表運行結(jié)果(子表延用主表的格線) 35 / 943.1.123.1.12統(tǒng)計圖的定義統(tǒng)計圖的定義潤乾報表的統(tǒng)計圖數(shù)據(jù)來源于報表而非重新再設(shè)置數(shù)據(jù)源,因而也可以支持多表多庫的統(tǒng)計圖。同一報表

42、可繪制多個統(tǒng)計圖,甚至可繪制在分組,隨著數(shù)據(jù)分組一起擴展成多個。統(tǒng)計圖數(shù)據(jù)定義 圖形特性定義外觀屬性定義 時間狀態(tài)圖定義3.1.133.1.13報表參數(shù)與宏報表參數(shù)與宏潤乾報表一般意義的報表參數(shù)功能。參數(shù)有數(shù)據(jù)類型,可以用于報表的數(shù)據(jù)源 36 / 94(SQL 語句)或報表中的運算表達式中。報表參數(shù)定義SQL 語句中使用參數(shù)除參數(shù)外,潤乾報表還提供特有的宏。宏沒有數(shù)據(jù)類據(jù),僅是簡單地在語句或表達式中替換。例如,可以將 SQL 語句中 SELECT 的列名或 FROM 的表名或 ORDER BY 的方向甚至整句 SQL 語句都作為宏而臨時改變,這樣將給使用者提供更加靈活的控制方式。舉例說明,如果

43、將一個 SQL 語句的 WHERE 條件中100 改成200,可以采用普通意義的參數(shù),但若想將200,則用參數(shù)就不可能作到了,但采用宏則可輕易完成。 37 / 94帶有參數(shù)和宏的報表B2 格帶有參數(shù)。B6 格中帶有宏,可用于替換參數(shù)無法完成的報表選出字段。3.1.143.1.14向?qū)c工具向?qū)c工具潤乾報表軟件提供了強有力的輔助工具,可以幫助用戶更方便、更高效地進行報表設(shè)計。報表設(shè)計向?qū)蟊碓O(shè)計向?qū)櫱瑘蟊韺τ诤唵蔚男惺?、分組與交叉報表提供設(shè)計向?qū)?,用戶只需要選擇相應(yīng)的數(shù)據(jù)表列即可以自動生成出報表。分組報表定義向?qū)?38 / 94交叉報表定義向?qū)Вㄐ辛卸x)交叉報表定義向?qū)Вㄖ刀x)SQLSQ

44、L 編輯器編輯器潤乾報表提供標(biāo)準(zhǔn) SQL 編輯對話框,用戶不必記憶數(shù)據(jù)庫表/字段名稱,可直接在SQL 編輯器中選擇要操作的數(shù)據(jù)元素,設(shè)計查詢、排序條件等。同時潤乾報表也支持直接輸入 SQL 語句。 39 / 94SQL 語句編輯器(字段選擇)SQL 語句編輯器(參數(shù)引用)中文語義層中文語義層/ /表達式表達式潤乾報表支持中間語義層機制,開發(fā)人員可將數(shù)據(jù)結(jié)構(gòu)事先以業(yè)務(wù)人員熟悉的術(shù)語進行描述,在設(shè)計報表時即可直接采用這些語義信息,而不必直接面向物理數(shù)據(jù)結(jié) 40 / 94構(gòu)。同時,潤乾報表還支持中文表達式,如可以寫類似 價格*數(shù)量 這樣的表達式,使報表設(shè)計更加通俗易懂。數(shù)據(jù)表與字段的中文描述定義 字

45、段外觀預(yù)定義數(shù)據(jù)集字段中文定義 公式編輯公式編輯/ /函數(shù)幫助函數(shù)幫助潤乾報表提供可視化的表達式編輯對話框,用戶不必記憶系統(tǒng)提供的眾多函數(shù)與 41 / 94需要操作的數(shù)據(jù)集元素,表達式的大部分都可以簡單地用鼠標(biāo)點擊出來,而且對所有系統(tǒng)函數(shù)均有詳細(xì)的在線幫助。公式編輯器函數(shù)幫助 42 / 943.23.2 報表展現(xiàn)輸出報表展現(xiàn)輸出潤乾報表不需安裝控件,可以實現(xiàn)純 HTML 報表方式,可以支持 PDF,EXCEL 等輸出,提供了全面的頁面與打印控制,能很多地滿足 Web 報表的展現(xiàn)需要。同時,潤乾報表對圖表有良好的支持,可以生成柱圖、餅圖、折線圖等二十幾種圖表。3.2.13.2.1報表元素的外觀屬

46、性報表元素的外觀屬性潤乾報表對報表元素提供非常豐富的外觀屬性,計有: 潤乾報表單元格外觀屬性列表字體、字號前景色、背景色,均支持調(diào)色板和透明顯示邊框:類 EXCEL,可設(shè)計線型線寬對齊方式:左中右/上中下對齊,自動折行,縮進顯示格式:文字、數(shù)值、日期時間等數(shù)十種風(fēng)格 43 / 94單元格顯示格式定位拉伸:橫向擴展表時保證標(biāo)題居中或居右定位拉伸例子,D2/E2 格設(shè)計了定位規(guī)則,在 B2 橫向擴展時會向右靠攏,結(jié)果如下:所有的屬性均可用表達式控制。 44 / 94 含有屬性表達式的報表 屬性中填寫的表達式運算結(jié)果,不與格的下劃線且居中,偶數(shù)行是斜體3.2.23.2.2統(tǒng)計圖統(tǒng)計圖潤乾報表支持如下

47、 23 種類型的統(tǒng)計圖:柱形圖三維柱形圖三維簇狀柱形圖 45 / 94堆積柱形圖三維堆積柱形圖餅圖三維餅圖折線圖三維折線圖區(qū)域圖三維區(qū)域圖條形圖三維條形圖三維簇狀條形圖堆積條形圖散列圖時序狀態(tài)圖時間走勢圖雙軸柱線圖雙軸折線圖雷達圖甘特圖儀表盤針對不同需要,在瀏覽器上可生成如下三種圖片類型GIF:256 色,可透明顯示,不失真壓縮JPG:真彩色,不可透明,失真壓縮PNG:真彩色,可透明,不失真壓縮 46 / 94潤乾報表的部分統(tǒng)計圖 47 / 943.2.33.2.3頁面(頁面(HTMLHTML)輸出)輸出潤乾報表可在 WEB 上生成標(biāo)準(zhǔn)的純 HTML 輸出格式,對 IE5 和 Netscape

48、7 以與上版本均可支持且效果一致,統(tǒng)計圖則完成以純 HTML 圖片形式展現(xiàn),瀏覽器端無須事先安裝任何插件。潤乾報表在 WEB 上的展示,可隨意嵌入到網(wǎng)頁的任何地方除靜態(tài) HTML 外,潤乾報表還可生成固定表頭(上/左均可)的可滾動報表以與行式分組可伸縮報表,大大方便了用戶的使用。 48 / 94瀏覽器上表頭固定可上下左右滾動顯示的報表3.2.43.2.4文件輸出文件輸出除標(biāo)準(zhǔn) HTML 外,潤乾報表還可將報表以文件方式導(dǎo)出,例如:EXCEL潤乾報表可輸出完全不失真的 EXCEL 文件,報表中的統(tǒng)計圖也將嵌入其中,并附帶有各種打印屬性,生成的 EXCEL 可不作任何調(diào)整直接打印而不會喪失格式信息

49、。還可對導(dǎo)出的 EXCEL 進行進一步的加工處理。PDF潤乾報表可輸出 PDF 文件,報表中的統(tǒng)計圖也將嵌入,并附有紙打印信息,結(jié)果可直接輸出打印。TEXT 49 / 94潤乾報表可生成專為金融、郵政等行業(yè)字符終端應(yīng)用服務(wù)的帶格式文本,報表格線由中文表格符拼出,并可在其中設(shè)置 Escape 碼,可直接在字符打印機上輸出。RAT 文件RAT 文件是潤乾報表自有的文件格式,用以保存運算后的報表結(jié)果,其中帶有統(tǒng)計圖、紙打印信息等,可由潤乾報表設(shè)計器打開查看以實現(xiàn)報表的脫機瀏覽(不依賴于第三方軟件且可在 UNIX 上顯示),并可打印或再次輸出成上述幾種格式的文件。輸出的 EXCEL 文件,保持所有格式

50、且能將統(tǒng)計圖一并導(dǎo)出 50 / 94輸出的 PDF 文件,帶有分頁信息,并導(dǎo)出了統(tǒng)計圖獨有的帶格式文本輸出,可直接輸出在字符中終 51 / 943.2.53.2.5分頁與分欄分頁與分欄潤乾報表對報表頁面提供了強有力的控制功能:分頁方案分頁方案可支持按紙大小分頁、按行列數(shù)分頁、強制分頁(分組后或固定行列) ;分頁方向分頁方向支持縱向和橫向雙方向分頁,有上表頭、頁眉、頁腳、左表頭等功能。上/左表頭信息每頁均會合理重復(fù);單元格拆分單元格拆分單一單元格不能被分頁拆分,當(dāng)合并單元格被拆分時可選擇其中數(shù)據(jù)是否也分頁斷開顯示;報表紙與分頁屬性定義 單元格分頁屬性定義行分區(qū)類型 列分區(qū)類型分欄與其它分欄與其它

51、支持橫向分欄;支持末頁補足空行的操作; 52 / 94分欄輸出的報表3.2.63.2.6打印打印潤乾報表可通過采用 JavaApplet 的方式實現(xiàn)瀏覽器中的精確打印,可支持如下功能:一紙多頁,實現(xiàn)小票據(jù)或卡片式打印,可選擇按行排列和按列排列;縮放與定位:打印前的縮放與在紙中的定位控制頁碼控制,選擇不同頁碼打印打印前可控制是否允許再修改數(shù)據(jù) 53 / 94打印預(yù)覽畫面,支持一紙多頁,可縮放顯示3.33.3 數(shù)據(jù)填報數(shù)據(jù)填報潤乾報表提供基于動態(tài)庫表關(guān)聯(lián)技術(shù)的填報功能,完美解決數(shù)據(jù)入庫的難題,極大提高填報表單的處理效率,擴展了 Web 報表工具的應(yīng)用方式。3.3.13.3.1編輯風(fēng)格編輯風(fēng)格潤乾報

52、表在瀏覽器端采用純 HTML 填寫方案,可提供如下編輯風(fēng)格:文字編輯框下拉列表框:下拉項目為固定容下拉數(shù)據(jù)框:下拉項目來自數(shù)據(jù)表,可帶檢索條件復(fù)選框下拉日歷下拉樹:樹結(jié)點可來自于數(shù)據(jù)表,并可自動循環(huán) 54 / 94文件/圖片上載支持的編輯風(fēng)格 下拉數(shù)據(jù)表上載文件編輯 下拉樹編輯3.3.23.3.2填寫控制填寫控制在填報過程中,可以進行嚴(yán)格的填寫控制,包括:可填寫控制:該單元格是否可以填寫,可能屬性表達式控制自動計算:某些單元格是由其它單元格運算而成的,當(dāng)基礎(chǔ)單元格的數(shù)據(jù)被修改時,目標(biāo)單元格的數(shù)據(jù)自動跟隨改變,計算公式在設(shè)計時設(shè)定好合法性檢查:考察數(shù)據(jù)填寫是否合理,某單元格的數(shù)據(jù)類型是否匹配(如

53、在數(shù)字格中填入了非數(shù)字字符),單元格之間必須滿足的數(shù)據(jù)校驗關(guān)系(如某 55 / 94格的數(shù)據(jù)必須大于另一格的數(shù)據(jù));對于輸入錯誤的數(shù)據(jù),系統(tǒng)會給出事先設(shè)置好的提示信息并定位出有錯單元格方便輸入者修改錯誤;合法性檢查有兩種:1)即時檢查:填寫當(dāng)前格,輸入焦點離開該格時進行檢查,若校驗不滿足則不得離開焦點2)提交檢查:全部填完后在提交數(shù)據(jù)前進行檢查,校驗不滿足則不得提交設(shè)計者還可以設(shè)置校驗不滿足時的提示信息,以提示用戶出錯的原因。自動計算定義 合法性檢查定義多頁填寫:潤乾報表提供了多頁填報 taglib,當(dāng)要填寫容很多時,可以組織成多個 tab 式的頁面一齊填寫,在 JSP 中可以設(shè)定多頁表單之間

54、的填寫控制關(guān)系。 56 / 94多頁填報與相關(guān)的合法性檢查(跨頁)3.3.33.3.3數(shù)據(jù)導(dǎo)入與離線編輯數(shù)據(jù)導(dǎo)入與離線編輯潤乾報表還可支持離線填報和批量導(dǎo)入數(shù)據(jù)的能力:離線填報離線填報潤乾報表生成的 HTML 表單可下載成本地文件中,其中保留了 JavaScript 代碼,因此所有的填寫控制均依然有效。用戶直接用瀏覽器打開這些離線 HTML 即可繼續(xù)填寫數(shù)據(jù),填寫過程中可以多次保存而不必與服務(wù)器有網(wǎng)絡(luò)連接,填寫完成后再聯(lián)機上傳即可將數(shù)據(jù)提交到服務(wù)器的數(shù)據(jù)庫中。離線填報還可以采用導(dǎo)出或用戶自行繪制的 EXCEL 文件進行,只要報表格式一致即可將 EXCEL 數(shù)據(jù)引入報表中,這使得許多已采用 EX

55、CEL 填寫數(shù)據(jù)的業(yè)務(wù)系統(tǒng)切換到潤乾報表非常容易。批量導(dǎo)入批量導(dǎo)入離線用的 HTML(或 EXCEL)也可不是從瀏覽器下載而成,而由報表服務(wù)器批量生成并采用某種方式(EMAIL、軟盤等)分發(fā)給填報人,由填報人填好后再收集回來。潤乾報表支持文件導(dǎo)入功能,可將收集回的報表批量導(dǎo)入到數(shù)據(jù)庫中。 57 / 94離線填寫(仍可帶有合法性檢查關(guān)系)3.3.43.3.4庫表關(guān)聯(lián)庫表關(guān)聯(lián)潤乾報表支持如下三種基本填報表樣:自由式表格:整表對應(yīng)一條記錄,各字段分布在多個無規(guī)律的單元格中,如人員的基本情況表;行(列)式表格:數(shù)據(jù)區(qū)每行(列)對應(yīng)一條記錄,如人員的履歷表,記錄的某些字段(一般是主索引碼的一部分)會在行

56、外,如人員履歷表中的人員編號,這是最常見的表格式樣;設(shè)計時只要設(shè)置一行(列)的數(shù)據(jù)庫對應(yīng)屬性,其它行(列)會由系統(tǒng)自動擴展。交叉式表格:數(shù)據(jù)區(qū)每格對應(yīng)一條記錄,如學(xué)生課程成績表,左邊是學(xué)生,上邊是課程,數(shù)據(jù)區(qū)是成績;設(shè)計時只要設(shè)置一格的數(shù)據(jù)庫對應(yīng)屬性,其它格會由系統(tǒng)自動擴展生成。潤乾報表同時支持以上三種表樣的混合,如一填報表的上半部分是自由式表格、下半部分是行式表格。還可以是更復(fù)雜的多頁混合的填報表單。一個單元格的數(shù)據(jù)可以同時寫入多個數(shù)據(jù)表,并且與其數(shù)據(jù)來源無關(guān),從而可以很方便地實現(xiàn)匯總填報。 58 / 94潤乾報表更新屬性定義3.3.53.3.5數(shù)據(jù)寫入數(shù)據(jù)寫入潤乾報表支持同一填寫表單同時寫

57、入多個數(shù)據(jù)表/多條記錄的情況,填報服務(wù)程序會利用數(shù)據(jù)庫事務(wù)功能保證其一致性。在設(shè)計表單模板時建立了數(shù)據(jù)庫字段與表單單元格之間的對應(yīng)關(guān)系。服務(wù)器會根據(jù)對應(yīng)關(guān)系生成 SQL 語句。程序會自動決定生成 UPDATE 還是 INSERT 語句,同時會自動判斷數(shù)據(jù)庫的類型,在 SQL 語句中添加相關(guān)的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)(如在 ORACLE 中的日期常數(shù)要加 TO_DATE,而 SQL Server 則是 CONVERT) 。示意圖可參見 2.2.3 節(jié)。3.43.4 交互與交互與 OLAPOLAP潤乾報表提供了強有力的交互能力和分析能力,能夠支持用戶進行 OLAP 分析。3.4.13.4.1靈活定義的查詢

58、和參數(shù)功能靈活定義的查詢和參數(shù)功能在很多情況下,用戶需要通過輸入條件,對數(shù)據(jù)進行查詢,并靈活控制顯示的數(shù) 59 / 94據(jù)圍。潤乾報表通過參數(shù)模板的功能,可以非常靈活地定義各種查詢界面和查詢條件,由用戶方便地輸入查詢條件,交互式地控制報表的容和形式。實際上,影響一個報表的參數(shù)可能有很多項,其中部分參數(shù)是應(yīng)用系統(tǒng)或環(huán)境的基本信息,不應(yīng)當(dāng)再由用戶輸入,如當(dāng)前登錄的用戶角色、當(dāng)天的日期等。無須輸入的參數(shù)被稱之為系統(tǒng)參數(shù),對應(yīng)的需要輸入的稱為用戶參數(shù)。潤乾報表提供了強有力的參數(shù)處理機制,可以分別對待處理這兩類不同情況的參數(shù)。潤乾報表支持如下四種參數(shù)機制:缺省參數(shù)界面潤乾報表將根據(jù)報表的參數(shù)信息自動生成

59、一個非常簡單的參數(shù)輸入界面,直接在 taglib 中配置就可以選擇是否出現(xiàn)該界面。該界面不能區(qū)分系統(tǒng)參數(shù)和用戶參數(shù),它將報表的所有參數(shù)都羅列出來,而且也只能提供最簡單的文字輸入方案,不能做出下拉選擇等效果。一般這種參數(shù)方式都是用于報表測試的,因其業(yè)務(wù)色彩太過薄弱,在實際應(yīng)用中很少使用。自寫參數(shù)界面由應(yīng)用程序員為每個報表專門編寫參數(shù)輸入界面(.JSP) ,將輸入后的用戶參數(shù)配合上系統(tǒng)參數(shù)設(shè)置到報表服務(wù)器,可以直接調(diào)用服務(wù)器的 API 設(shè)置,也可以在 taglib 的屬性中設(shè)置。自寫參數(shù)可以讓程序員對報表查詢有最深入的控制力度,如可在某個參數(shù)輸入完成后立即引起頁面的變動而不必等所有參數(shù)全部輸入完畢

60、、某些參數(shù)的選值圍可能被別一些參數(shù)過濾等。這樣可以造出更好的交互式效果,但相應(yīng)的工作量也較繁瑣。繪制參數(shù)界面潤乾報表提供可繪制的參數(shù)界面。系統(tǒng)設(shè)計了一個專門的參數(shù)面板taglib,可發(fā)布由用戶進行參數(shù)填寫的界面,其中可以支持象下拉選擇等任何編輯風(fēng)格與填寫控制方案。報表設(shè)計時并不涉與其參數(shù)界面,一個報表可以有多種參數(shù)輸入界面。參數(shù)界面是自行繪制的(利用報表設(shè)計器畫) ,可以只涉與用戶參數(shù)。一般在頁 60 / 94面程序(.JSP)中將參數(shù)界面與報表展現(xiàn)配合起來,并且在這里將系統(tǒng)參數(shù)與用戶參數(shù)配合起來提交給報表服務(wù)器。與自寫參數(shù)界面相比,繪制參數(shù)的方案可以省去許多編寫頁面程序(.JSP)的工作量,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論