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

下載本文檔

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

文檔簡介

潤乾報表技術白皮書北京潤乾軟件技術2006年3月目錄TOC\o"1-2"\h\z第1章總體說明41.1潤乾報表軟件概述41.2產(chǎn)品構成5第2章新一代報表模型72.1數(shù)據(jù)統(tǒng)計模型72.2數(shù)據(jù)填報模型18第3章功能詳細描述223.1報表設計223.2報表展現(xiàn)輸出413.3數(shù)據(jù)填報523.4交互與OLAP583.5報表管理中心633.6報表任務調度65第4章部署與應用方案674.1報表設計模式674.2報表應用部署方式694.3數(shù)據(jù)報送應用方式734.4支持環(huán)境76第5章性能指標與控制785.1性能分析785.2實測指標795.3控制手段80第6章集成接口826.1數(shù)據(jù)源826.2JAVAAPI846.3前端接口866.4設計器接口88第7章特點與優(yōu)勢總結907.1新一代報表模型907.2真正易用的報表工具907.3純JAVA報表軟件917.4強有力的填報功能917.5獨有的字符終端解決方案927.6開放的系統(tǒng)927.7可靠的本土支持93第8章逐點應答948.1功能性要求948.2非功能性要求998.3實施服務要求110第9章建議1139.1選擇開放性的工具1139.2與應用緊密集成1139.3基于實際業(yè)務報表進行測試114附:某保險公司統(tǒng)計報表系統(tǒng)實際測試報告115總體說明潤乾報表軟件概述潤乾報表是用于統(tǒng)計報表制作及數(shù)據(jù)填報的大型企業(yè)級報表軟件,它提供了高效的報表設計方案、強大的報表展現(xiàn)能力、靈活的部署機制,并且具備強有力的填報功能,配合以全面的用戶權限管理、報表調度功能和交互功能,為企業(yè)級統(tǒng)計分析、展現(xiàn)提供了高性能、高效率的報表系統(tǒng)解決方案。潤乾報表軟件的核心特點在于開創(chuàng)性地提出了新一代報表數(shù)學模型,采用了革命性的多源分片、不規(guī)則分組、自由格間運算、行列對稱等技術,使得復雜報表的設計簡單化,以往難以實現(xiàn)的報表可以輕松實現(xiàn),避免了大量的復雜SQL編寫與前期數(shù)據(jù)準備,報表設計的效率提高了一個數(shù)量級。潤乾報表是一個純Java報表工具,提供了全面的API接口,是開發(fā)Web報表軟件的理想選擇。Java報表工具的跨平臺特性,使得它能良好地支持大型系統(tǒng)的需要。潤乾報表不需安裝控件,可以實現(xiàn)純HTML報表方式,可以支持PDF,EXCEL等輸出,提供了全面的頁面與打印控制,能很多地滿足Web報表的展現(xiàn)需要。同時,潤乾報表對圖表有良好的支持,可以生成柱圖、餅圖、折線圖等二十幾種圖表。潤乾報表提供基于動態(tài)庫表關聯(lián)技術的填報功能,完美解決數(shù)據(jù)入庫的難題,極大提高填報表單的處理效率,擴展了Web報表工具的應用方式。潤乾報表提供了報表管理中心,可以對報表建立多層次的目錄管理,進行全面的用戶和基于角色的權限管理。潤乾報表還提供了調度器模塊,可以實現(xiàn)定時、批量等報表自動處理和報表的自動分發(fā)。產(chǎn)品構成基礎部件潤乾報表由兩大核心部分組成:報表設計器:設計編輯報表,自帶報表運算引擎,連接數(shù)據(jù)庫后可預覽打印報表,并可生成其它格式保存。設計器不依賴于其它部分,可獨立工作;設計器以Java應用程序(JavaApplication)的形式提交。報表服務器:在后臺提供統(tǒng)計報表運算和數(shù)據(jù)填報處理的服務,開放各層次的API接口調用,由程序員調用生成結果報表;服務器運行不依賴設計器;服務器以Java類包(jar)的形式提交,一般情況下不需要物理上的獨立服務器??蛇x組件除基本部件外,潤乾報表還提供如下可選組件:報表管理中心:一個簡單的獨立報表管理應用,處理用戶角色權限控制、功能組織等,終端用戶可直接采用該組件完成報表管理、查閱、填報等工作,報表管理中心運行依賴于報表服務器。報表調度器:作為服務程序運行,在設定的時刻自動計算報表并將結果保存或推送到指定的目標,報表調度器運行依賴于報表服務器;集成(遠程)設計支持:包括基于HTTP協(xié)議的JDBC接口、基于WebStart技術的設計器封裝包和可編程的設計器遠程文件訪問接口?;谠摻M件可將報表設計器集成于用戶的統(tǒng)一門戶管理之內(nèi)(B/S或C/S均可)、實現(xiàn)遠程報表設計、統(tǒng)一管理報表模板文件等功能;Windows展現(xiàn)控件:包括應用于WindowsGUI程序的ActiveX控件、生成EXCEL/PDF流的DLL調用及相關后臺的服務程序,基于該組件可將報表運算結果以控件形式顯示于WindowsGUI程序中。UNIX的C接口:包括后臺服務程序與前端通訊的C程序,通訊部分的C代碼以源碼形式提交(.H和.C文件),基于該組件,可將報表應用于UNIX下的C程序中。新一代報表模型數(shù)據(jù)統(tǒng)計模型數(shù)據(jù)統(tǒng)計模型是報表工具最重要的指標,它決定了報表工具最基本的制表能力,即在不編代碼的情況下能夠制作出何種報表。事實上,市場上的眾多傳統(tǒng)報表產(chǎn)品在處理復雜報表時確實存在明顯缺陷,大量報表仍需編寫代碼準備數(shù)據(jù)。潤乾報表開創(chuàng)性地提出了新一代數(shù)據(jù)統(tǒng)計模型,采用全新的概念方法比較徹底地解決了中國復雜報表中的各項問題。多源分片多源分片是中國復雜報表的基本特征。多源是指一個報表的數(shù)據(jù)來源來自多個物理數(shù)據(jù)表(或類似數(shù)據(jù)體),甚至是多個物理數(shù)據(jù)庫。這里的“多個”常常不是兩個三個,而是七八個乃至十幾個。傳統(tǒng)工具的基本報表單元只支持單源報表,需要在報表設計前將多源轉化成單源處理。兩三個源尚可寫SQL語句完成(JOIN或UNION等),但多到五六個源以上時,一方面對應的SQL語句過于復雜難以維護,另一方面運行效率也很低,這時常常要編寫存儲過程或其它代碼來準備數(shù)據(jù)了。如果多源來自多庫,則更為復雜,無法直接寫出復雜SQL或存儲過程,需要架構專門的數(shù)據(jù)庫橋后才可以完成。某些傳統(tǒng)工具也所聲稱的支持多源,實際上就是指多數(shù)據(jù)庫支持,把數(shù)據(jù)庫橋功能集成進入報表工具中,但真正到報表設計時仍然只能單源。多源往往帶來分片,正是由于分片,使得報表設計必須直接基于多源進行,而不能先將多源轉成單源進行。有相當一部分分片報表無論如何也不可能換成單源處理,部分能轉成單源的報表處理也非常繁瑣。分片是指報表的縱向或橫向或雙向同時被分成了多個區(qū)域,每個區(qū)域擴展重復規(guī)則不同,而又可能相互運算。傳統(tǒng)工具能夠處理的上下格式一致和列方向固定的分片報表(即可由多源轉成單源的報表),但會迫使用戶編寫復雜的SQL(UNION+JOIN)和代碼準備數(shù)據(jù),導致工作量大且維護困難;對于橫向分片數(shù)較多報表,由于必須采用JOIN方式準備數(shù)據(jù),關聯(lián)條件復雜時很可能導致出O(Nk)的高計算復雜度(k為分片數(shù)),性能很低。表1是個典型的縱向分片報表,數(shù)據(jù)區(qū)從上至下分成了幾片,先是一片按客戶匯總的兩級分組區(qū)域,然后是兩個固定計算行,接下來又是一片按年度匯總的一級分組區(qū)域,最后又是一個固定的合計行。各片分組層數(shù)不同,而且變動與固定固定結合,而且各片之間還有數(shù)據(jù)溝通(某些計算行的值是由其它行計算出來的)。這種上下格式不一致的報表,其數(shù)據(jù)源不可能組織成單源(各片列數(shù)不同),也就不可能被傳統(tǒng)工具實現(xiàn)。表1我們把表1橫過來擺形成表2,成為一個橫向分片表。類似的,也是有兩片分組層數(shù)不同的變列區(qū)域和幾個固定的計算列混合而成。傳統(tǒng)工具只提供比較死板的交叉報表模型處理變列報表,其中的集合運算只有固定的幾種選擇,不可隨意加列,更不可能有多片變列區(qū)域,而這種復雜的動靜混合交叉表就只能手工編程動態(tài)加列實現(xiàn)。表2為了解決多源分片的問題,許多傳統(tǒng)工具引入了子報表的概念。把每個分片做成一個子表,然后再在主表中拼接起來。如上述的表1理論上是可以通過子表拼接完成,但實際上仍非常煩瑣。子表割裂了整表的一致性,一張報表被分成了多個小表,難以統(tǒng)一處理,給維護管理工作帶來麻煩。從格式上看,各個子表各自獨立,很難將格線統(tǒng)一對齊,某個子表的格式進行了調整,所有其它子表都需要改動,這是極其繁瑣的工作。而且每個子表的大小不固定(可能隨數(shù)據(jù)記錄數(shù)而變化),由于傳統(tǒng)工具的行列不對稱(下面還會談到),縱向排列的幾個子表可以自動擺位,而橫向則不行,如上述的表2即使用子表也無法完成(數(shù)據(jù)可以拼出,但格式無法拼出)。而且,主子表之間和子表相互之間都無法溝通數(shù)據(jù),只能將主表的數(shù)據(jù)作為參數(shù)傳遞給子表,子表無法帶回信息,也無法向其它子表提供信息。這時,整表的混合運算將非常困難,必須單獨計算,無法采用某些子表的中間運算結果,不僅書寫復雜,運算效率也降低。表3就是個典型的主從表,當然也是典型的多源分片報表。主記錄中的金額顯然是明細信息中各產(chǎn)品金額的和,而在傳統(tǒng)工具的主子表模型中,主表的合計值不能引用子表的數(shù)據(jù),必須自行重新計算。表3潤乾報表則直接支持多源(集)設計,在同一張報表中可同時引用多個數(shù)據(jù)集,摒棄了傳統(tǒng)死板的條帶式擴展模型,而代之以獨創(chuàng)的單元格擴展方案,各數(shù)據(jù)集即可以獨立擴展,也可以相互引用,擴展部分與固定部分可自由結合;而特有的主格關聯(lián)技術則可靈活地決定各級統(tǒng)計的范圍,保證匯總運算的合理性與正確性。表1在潤乾報表中將如下設計:需要根據(jù)數(shù)據(jù)變動的行(5/6行)采用單元格擴展(B5/C5格)機制(其中的ds1.group函數(shù)即負責擴展重復),而中間的固定行(8-11行)則可直接寫上,下一片變動行(13/14行)又采用單元格擴展(B13格)進行(ds4.group函數(shù)),兩片擴展分別基于不同的數(shù)據(jù)集(ds1和ds4),且層數(shù)不同,右邊的sum運算中還能引用這些格值,整個報表即分片又統(tǒng)一,完美地解決了多源分片問題。完成表2只要簡單地將相關的擴展單元格改變位置和方向即可,如下圖所示,潤乾報表在行方向的擴展能力能夠完全應用在列方向上(橫向擴展),使得中國報表中常見的橫向分片、多片變動、動靜結合的問題很容易解決。對于表3這種主子表,在潤乾報表無需借助子表概念完成,明細表(8-10行)本身可以自行擴展重復,而且由于了設置主格關聯(lián),整片明細表會自動跟隨主記錄重復,而且主細表間可自由溝通信息,如E3格中的金額合計可直接由G9格中金額明細計算出來(表達式SUM(G9{}))。不完全劃分不完全劃分是中國復雜報表中的典型特征之一。傳統(tǒng)工具中的數(shù)據(jù)分組延用了關系數(shù)據(jù)庫中的相應概念,為完全規(guī)則劃分,即劃分標準一致且有規(guī)則(一般都按某個字段或表達式),所有事實都必須出現(xiàn)且只出現(xiàn)一次,分組值次序與原數(shù)據(jù)記錄次序一致。與完全劃分相反,在報表匯總中卻常常需要不規(guī)則劃分,即劃分標準看不出規(guī)律(常常只能窮舉),所有事實不一定全部出現(xiàn)在分組結果中、個別事實還可能重復出現(xiàn),次序也與原數(shù)據(jù)記錄無關。固定分組是不規(guī)則劃分的常見表現(xiàn)。表4表4是個含有不規(guī)則劃分的人員統(tǒng)計表(同時也是個分片報表)。年齡段的分組就是個不規(guī)則劃分,劃分規(guī)律不明確,只能窮舉出來;分組不完全,沒有列出所有的部門,每個一級部門中還可能有一些不屬于任何二級部門的人(其他類)。表5表5則是另一種形態(tài)的不規(guī)則劃分報表。它的地區(qū)分組有三個特點:華北部分地區(qū)中未包括內(nèi)蒙古,出現(xiàn)了不完全分組;山東和青島有重復的部分,出現(xiàn)了可重分組;而且地區(qū)次序是確定這樣排列的,和數(shù)據(jù)記錄的次序無關,是個典型的固定行分組報表。這兩個報表用傳統(tǒng)工具實現(xiàn)都較為困難,雖然報表格式并不復雜,但由于出現(xiàn)了不規(guī)則劃分,無法直接用報表工具的分組功能完成,只能編程把數(shù)據(jù)準備成一個單層的二維表數(shù)據(jù)源,即加大了工作量,又很難體現(xiàn)數(shù)據(jù)之間的層次關系。潤乾報表為分組運算提供更多的過濾和排序選項,可生成不完全分組;采用內(nèi)建數(shù)據(jù)集分組技術可以很好地完成固定分組及可重分組的問題,而特有的plot集合函數(shù)則解決了按段分組的困難。表4可采用plot函數(shù)進行如下設計:C4格中的plot函數(shù)負責完成按段分組,可隨意填寫分段方案;A5格的分組擴展可加上過濾條件;B5格擴展出有規(guī)律的二級部門,而其他類則可單列一行,其計算公式可與上面的格分別填寫(C5/C6格)。表5則可以采用內(nèi)建數(shù)據(jù)集處理固定可重分組:先根據(jù)報表展現(xiàn)的行設計內(nèi)建數(shù)據(jù)集與之一一對應,然后在報表設計中采用內(nèi)建數(shù)據(jù)集進行擴展(A5格),同行上其它各格的計算值都引用該格值(B5-H5),從而輕松地完成了固定可重分組報表。自由格間運算除不完全劃分外,自由格間運算是中國復雜報表另一個典型特征。所有的報表工具都會提供一些計算列的功能,在原始數(shù)據(jù)基礎上再計算出一些別的列值或統(tǒng)計值,這是報表展現(xiàn)中是不可缺少的功能。傳統(tǒng)工具一般只提供同行內(nèi)的格間運算和針對某組(或全體)的集合運算,對于常見的跨行組運算則相當困難。個別傳統(tǒng)工具提供了簡單的跨行能力,如可以引用上一行數(shù)據(jù),而跨組則無能為力;對于集合運算只提供個別固定的函數(shù),如取第一名、算累計值等,無法組合出通用集合運算,如取第二名、算累計的乘積等。某些帶條件的運算更是無法處理,如計算語文成績在90分以上的同學的數(shù)學成績總和。除了有規(guī)律的跨行組運算外,報表中還可能會有一些隨意的獨立格運算,其值可能是報表中的任意幾個其它格運算出來,甚至還可能會引用到報表外的數(shù)據(jù)(比如和數(shù)據(jù)庫中的數(shù)據(jù)再次運算等)。由于傳統(tǒng)工具沒有很好的運算后報表數(shù)據(jù)項命名機制(傳統(tǒng)工具只能用列名命名設計階段的數(shù)據(jù)單元),很難精確描述數(shù)據(jù)引用關系,只能寫出規(guī)律性很強的表達式,但隨意的獨立格運算會就使傳統(tǒng)工具無法處理,而報表外的數(shù)據(jù)引用更是只能借助腳本或外圍應用程序,導致代碼極為混亂。表6是個典型的跨行組運算報表,其中有比上期(跨行)和比去年同期(跨組)運算,這種報表在傳統(tǒng)工具中常常又必須編程準備數(shù)據(jù)。表7則展現(xiàn)了另一些自由格間運算,如計算排名,需要在同組中數(shù)出比當前值大的數(shù)的個數(shù)。下方的幾個獨立格中又引用了表格中數(shù)據(jù),但又非整組全部引用,而是帶了某種條件(前三名),最下方的一個格中還會引用到報表外的數(shù)據(jù)(北京市的全部銷售額不在報表中)。表6表7這兩個報表的樣式都不復雜,但這些格間運算會讓傳統(tǒng)工具非常為難。只能再次依靠程序代碼,把數(shù)據(jù)事先計算好直接往報表里填。潤乾報表則開創(chuàng)性地提出了單元格層次坐標與相關格集的概念,可以則擴展后的每個單元格或格集進行精確命名,即可在設計時自由引用任何一個擴展后單元格,而且還可以方便地嵌入SQL或其它函數(shù)以引用外部信息。表6在潤乾報表中將如下設計:D3格中的C3[-1]和E3格中的C3[A3:-1,B3:+0]即是層次坐標寫法,用以精確定位擴展后的每個單元格,從而使得跨行組運算可以方便地進行。,表7在潤乾報表中的的設計方案:C4格的表達式中應用了層次坐標和相關格集概念,用以計算其對應的B4在擴展后的B4格組(擴展后會有多個B4)的次序(E4和F4的關系類似)。B6表達式中有帶條件的引用(C4<=3,即前三名),B7格中又引用了另一個數(shù)據(jù)集ds的值。整個報表的格間運算非常自由,而潤乾報表也能夠輕松處理。行列對稱另外,所有以上的討論中還貫穿了一點,即行列對稱??v方向上擁有的自動復制擴展的能力需要完全實現(xiàn)在橫方向上。報表可以橫向分組、橫向分片,對于橫向變列的報表可以定義跨列組運算等。傳統(tǒng)工具有行式表和交叉表兩種互不通用的模型,行式表完全不支持列向變動;而交叉表非常死板,雖然可以支持多層變列,但只能有一片變列區(qū),而且其中的匯總運算很簡單,只有固定的一些函數(shù),不可隨便增加運算行列。傳統(tǒng)工具的行列嚴重不對稱,列方向能力遠遠弱于行方向,稍復雜些的交叉表無法實現(xiàn)。傳統(tǒng)工具還習慣于把報表分成幾種孤立的類型,如網(wǎng)格報表、分組報表、主從報表、交叉報表等,某種類型的報表可以解決某種問題。但事實上,報表的上述復雜性常常是混合在一起的,同一張報表中很可能包含了所有的問題,這要求我們給出完整的解決方案,而不能單獨分別處理。當這幾種困難交織到一起時,整個問題的復雜度要遠比解決幾個單個問題的總和要大得多。而潤乾報表則天然行列對稱,行方向擁有的數(shù)據(jù)擴展能力在列方向也都有,所有報表均在統(tǒng)一的處理模型下完成,無須專門的交叉表處理方案,在交叉表中也可以自由編寫匯總表達式。中國復雜報表的各種困難在潤乾報表中統(tǒng)一在一起得到了充分的解決。數(shù)據(jù)填報模型數(shù)據(jù)填寫是中國報表應用中的一個重要需求,廣泛應用于金融業(yè)和政府行業(yè)。而相當多的報表工具(特別是國外產(chǎn)品)完全不支持數(shù)據(jù)填寫報送。而潤乾報表則有非常出色的數(shù)據(jù)填報能力。同統(tǒng)計匯總類似,填報解決方案中最關鍵的因素仍然是數(shù)據(jù)模型,通俗地說,就是數(shù)據(jù)如何寫入數(shù)據(jù)庫的方案。填報本身不是目的,填報是為了采集數(shù)據(jù)上來分析利用,因此需要將填報收集的數(shù)據(jù)直接按其邏輯結構提交到開放的關系型數(shù)據(jù)庫中,才能有效地被其他應用系統(tǒng)和統(tǒng)計分析系統(tǒng)所利用。傳統(tǒng)方案的缺陷有個別國內(nèi)傳統(tǒng)報表工具能夠支持數(shù)據(jù)填寫,一般有三種方式處理數(shù)據(jù)入庫。采用中間文件,填寫結果寫入一個中間數(shù)據(jù)文件(如EXCEL填報),某些填報方案能提供少量一些基于這些中間文件的統(tǒng)計匯總,但要完全利用則須將這些數(shù)據(jù)進行結構化成后轉存到關系數(shù)據(jù)庫中。而將非結構化的數(shù)據(jù)轉成可以體現(xiàn)業(yè)務規(guī)則的結構化數(shù)據(jù)是比較困難的工作,需要為每種報表編寫相應程序去處理。采用固定的數(shù)據(jù)結構,填報方案提供一種“萬能”的數(shù)據(jù)結構將填好的數(shù)據(jù)寫入,其數(shù)據(jù)結構常常是只有三個字段{行號/列號/數(shù)值,或與之類似),這種方法只是機械地將數(shù)據(jù)寫入了數(shù)據(jù)庫,數(shù)據(jù)結構并未沒有體現(xiàn)業(yè)務規(guī)則,在使用時仍要再次進行轉換工作。根據(jù)業(yè)務規(guī)則設計要保存的數(shù)據(jù)結構,然后根據(jù)數(shù)據(jù)結構設計要填寫的報表,每個要填寫單元格的數(shù)據(jù)都有唯一對應數(shù)據(jù)庫的字段,這樣在入庫時就可以直接寫成結構化的數(shù)據(jù)。這種方案的入庫機制是合理的,但報表是根據(jù)數(shù)據(jù)結構設計的,而庫表對應關系常常都非常簡單,結果導致報表不可自由繪制,只能提供簡單的幾種死板表樣,不能滿足用戶需求。某些傳統(tǒng)填報方案的數(shù)據(jù)回填機制所有這些填報方案的主要問題是無法解決能體現(xiàn)業(yè)務規(guī)則的數(shù)據(jù)表與報表單元格之間的匹配關系。從而導致前期報表設計或者后期數(shù)據(jù)入庫的極大困難。而潤乾報表獨創(chuàng)的自由庫表關聯(lián)技術則很好地解決了這一問題。自由庫表關聯(lián)潤乾報表的填報表允許數(shù)據(jù)庫表列與報表的單元格之間進行任意匹配,設計報表樣式時不需要考慮數(shù)據(jù)結構,反之設計數(shù)據(jù)結構時也只需要考慮業(yè)務規(guī)則而不用管報表樣式,任意的報表樣式和數(shù)據(jù)結構之間都能建立起對應關系。而且這些對應關系還有自動擴展的能力,即有規(guī)律的表區(qū)只要設置一遍基本的對應關系,表區(qū)中其它單元格與數(shù)據(jù)庫的對應關系可以自動擴展出來。如行式表填報時,只需要設置某一行的庫表對應關系,其它行都可以自動擴展,而交叉表則只要設計某一格的對應關系即可,其它格也可以自動擴展出來。總結起來說,就是任意匹配,自動擴展。主從填報(自由/行式混合)交叉填報數(shù)據(jù)來去自由潤乾報表的填報方案還支持自由的數(shù)據(jù)來去方案,具體地講,就是有來有去,來去無關,一來多去。如下圖所示:單元格中的數(shù)據(jù)都有來源,現(xiàn)實中常常需要制作多級匯總填報表,某一中間層的填報表是先由下級統(tǒng)計出來的,而非空白格子,這樣就要求單元格的數(shù)據(jù)要有個來源;填寫的數(shù)據(jù)要入庫,則需要有個去處,來源和去處經(jīng)??赡苁菬o關的,如可以將從A表中統(tǒng)計出來的結果修改后填入B表;而且一個單元格的去處可以有多個(來源當然不可能有多個),可以同時寫入B1表、B2表、…,甚至可能是多個數(shù)據(jù)庫(如同一批企業(yè)數(shù)據(jù)要同時寫給稅務部門和統(tǒng)計部門)。功能詳細描述報表設計類EXCEL的報表設計方式類EXCEL的編輯潤乾報表采用類EXCEL的方式進行報表的繪制和編輯,如下圖:潤乾報表主編輯界面采用類EXCEL的可視化網(wǎng)格式編輯方案,不僅可所見即所得地繪制出復雜表樣,而且可免去傳統(tǒng)控件拖拽式編輯方式對齊數(shù)據(jù)項的繁瑣,在保證格式的整齊美觀的同時大幅提高繪制效率,避免打印與顯示因分辨率不一致而出現(xiàn)的失真現(xiàn)象。另外,熟悉EXCEL使用的人員相當多,更易于報表繪制工作的上手。這種方案已逐步成為報表樣式繪制的主流。讀入EXCEL文件潤乾報表還可直接讀入EXCEL繪制好的報表格式,然后在報表設計器中進一步修改,以充分保護用戶以往在EXCEL上的積累,大大減少重復工作。Excel原表潤乾報表直接讀入EXCEL報表格式(文檔類型即為xls)公式調整潤乾報表在編輯過程中能夠象EXCEL一樣自動調整公式,如在單元格B1中引用了C1,當B列和C列間插入一列時,引用的C1將會自動變成D1,這對于報表中表達式編輯非常必要。原報表,B2中的表達式引用了C2和D3在C列前插入一列后,B2格的表達式自動調整界面及基本功能潤乾報表提供了非常美觀的外觀界面,可有多種配色風格。產(chǎn)品采用全中文菜單和對話框,常用的編輯手段均有快捷工具條以提高設計效率。在編輯過程中,提供縮放編輯功能,可以根據(jù)需要靈活設置縮放比例,更方便地進行報表的格式調整。在報表設計器中,可直接預覽報表,并打印或導出成EXCEL/PDF等外部文件格式。單元格類型潤乾報表的單元格支持如下類型:普通文本:一般的數(shù)值和文字,可以支持斜線。這種類型可以通過象EXCEL一樣的表達式,從數(shù)據(jù)庫中提取數(shù)據(jù)和進行各種計算。該類單元格的顯示值可與數(shù)據(jù)值分開,從而實現(xiàn)內(nèi)部代碼與顯示之間的對應,顯示內(nèi)容可來自固定列表,也可來自數(shù)據(jù)庫中的字典表圖片文件:固定的圖片,如企業(yè)LOGO圖片字段:來自數(shù)據(jù)庫字段的圖片,如人員照片子報表:該單元格中將嵌入或引入一個子報表統(tǒng)計圖:該單元格中將嵌入一個統(tǒng)計圖HTML文本:該單元格內(nèi)的文字(或表達式的運算結果)將被理解成為一段HTML代碼,在報表WEB展現(xiàn)時將被嵌入整個報表的HTML文本中,從而可實現(xiàn)用戶自定義的顯示或編輯方案通過各種類型的單元格,可以在報表中添加各種元素,實現(xiàn)各種復雜的報表。潤乾報表的單元格類型帶斜線和圖片的報表(編輯畫面),D1格是個圖片字段帶斜線和圖片的報表(運算畫面),D1格已被運算成圖片套打繪制及相關功能底圖描繪實現(xiàn)套打繪制潤乾報表采用底圖描繪的方案解決套打時的報表繪制問題??蓪⑿枰状虻钠睋?jù)掃描成圖片,作為報表設計的底圖,然后依照圖片上格線進行報表描繪,可保證繪制出的報表能夠精確地套打進入印刷票據(jù)中。底圖描繪方式進行套打繪制(下面的表格是個底圖)精確度量等潤乾報表提供以毫米為單位的精確度量,可保證報表的繪制和輸出完全與紙張精準一致。并會根據(jù)紙張大小在設計界面中畫出紙邊虛線,以提示設計人員分頁位置。多數(shù)據(jù)源潤乾報表天然支持多數(shù)據(jù)源,同一張報表的數(shù)據(jù)來源可以是多個數(shù)據(jù)集甚至是多個數(shù)據(jù)庫或是用戶自定義的數(shù)據(jù)集。 通過這一功能,不僅可以采集來自不同來源的數(shù)據(jù),更重要的是在潤乾報表中可以在報表內(nèi)直接使用多個不同數(shù)據(jù)集,而不需要強行用復雜的視圖把它們連接在一起,從而大大提高了報表設計效率和提高了靈活性。潤乾報表多數(shù)據(jù)源數(shù)據(jù)源的定義畫面潤乾報表支持各種數(shù)據(jù)集(SQL/存儲過程/文件/自定義/內(nèi)建/OLAPSERVER)內(nèi)建數(shù)據(jù)集潤乾報表支持內(nèi)建數(shù)據(jù)集,即某個數(shù)據(jù)集的數(shù)據(jù)被寫進報表模板文件之中,內(nèi)建數(shù)據(jù)集和外部數(shù)據(jù)集有完全同樣的運算,如擴展、過濾等。內(nèi)建數(shù)據(jù)集可有如下應用:完成不規(guī)則劃分大量中國復雜報表均可能有不規(guī)則劃分要求(比如選擇若干個城市顯示相關的數(shù)據(jù)),潤乾報表可以將這些不規(guī)則劃分(如可重分組、固定分組)方案設置進僅于當前報表相關的內(nèi)建數(shù)據(jù)集中,而不必在數(shù)據(jù)庫中創(chuàng)建冗余的數(shù)據(jù)表或視圖??蓞⒁奌YPERLINK中的例子。脫機瀏覽潤乾報表提供將外部數(shù)據(jù)集轉換為內(nèi)建數(shù)據(jù)集的功能,這樣即可將已做好的報表數(shù)據(jù)源綁定進報表,從而做到脫機(不連接數(shù)據(jù)庫)運算和瀏覽,這一功能對于遠程調試報表有巨大幫助(遠程技術人員可以不必依賴于用戶的數(shù)據(jù)環(huán)境而調試報表中的錯誤)內(nèi)建數(shù)據(jù)集綁定報表數(shù)據(jù)以實現(xiàn)脫機運算和瀏覽表達式與函數(shù)表達式潤乾報表支持基于數(shù)據(jù)集和基于單元格的兩類表達式,并且可以混合書寫,如ds1.sum(amount);B3+C3+sum(D3{});ds1.select(id,typeid=C2)等函數(shù)潤乾報表提供六類系統(tǒng)函數(shù):數(shù)據(jù)集函數(shù)、單元格函數(shù)、數(shù)學函數(shù)、字符串函數(shù)、日期時間函數(shù)、轉換函數(shù)。同時也允許用戶自定義JAVA函數(shù)。潤乾報表的函數(shù)功能非常強大,除了常規(guī)的計算函數(shù)外,更能針對報表和統(tǒng)計分析的需要提供了特有的集合處理函數(shù),可用以實現(xiàn)報表自動擴展、分組等變化。例如,潤乾報表提供plot函數(shù)實現(xiàn)中國復雜報表中常見的按段分組需求,除分組方案外,plot函數(shù)與普通分組函數(shù)一致,也可以實現(xiàn)多層或交叉分段匯總。例子可參見HYPERLINK節(jié)。靈活快捷的分組匯總潤乾報表可簡單完成帶有多級分組與匯總的普通行式報表,采用單元格分組函數(shù)實現(xiàn)分組擴展,沒有明顯的分組區(qū)域,從而在增刪分組或改變分組次序時不必象傳統(tǒng)報表工具需要重新設計分組區(qū)內(nèi)數(shù)據(jù)表達式。潤乾報表獨創(chuàng)的主格關聯(lián)機制決定了統(tǒng)計匯總的范圍,匯總表達式可以擺放在報表中任何合理的位置(分組上/下邊或在分組明細同行合并成一個大格)。帶分組合計的行式報表(設計)潤乾報表的分組采用數(shù)據(jù)集group函數(shù)完成(A4/B4格中的表達式),沒有傳統(tǒng)的分組區(qū)域。合計表達式(E5/E6/I4/J4)可以放在任何地方(分組下邊或右邊),由主格關系機制決定其運算范圍,而不是由位置來控制。還可以實現(xiàn)跨行組的序號大排隊(C4格)。該報表運算結果如下:帶分組合計的行式報表(運行)行列對稱的擴展機制潤乾報表行列對稱設計,無須專門的交叉表模型處理列向變動的報表。多層、分片交叉報表均可輕松實現(xiàn),并可類似行式報表一樣編寫自由的匯總運算。多層交叉帶匯總報表(設計)上面報表中,A5/B5格運行縱向擴展,D3/D4格進行橫向擴展,雙向擴展后即可形成交叉報表,中間部分的匯總運算仍是自由填寫的表達式(其中可引上左/上表頭的單元格值),而不必象傳統(tǒng)工具那樣必須是規(guī)定好的幾種運算,充分體現(xiàn)行列對稱的思想。運算結果如下:多層交叉帶匯總報表(運行)層次座標潤乾報表發(fā)明的層次坐標和位移坐標概念能夠對擴展后單元格/集進行命名,從而可以在表達式中精確描述出對其它單元格的引用,完美地解決自由格間運算。有規(guī)律的單元格跨行組運算可輕松實現(xiàn),對于無規(guī)則的任意運算,潤乾報表還提供類EXCEL式的格間運算。層次坐標的例子參見HYPERLINK節(jié)。子報表潤乾報表支持不限嵌套層數(shù)的子報表功能。子報表分為引入式和嵌入式兩種,引入式將子表數(shù)據(jù)和格式依次填報主表的單元格中,而嵌入式則將整個子表縮放后嵌入到主表的某個單元格中。嵌入式主報表定義子報表定義嵌入式子報表運行結果(主子表的格線不對齊)引入式主報表定義子報表1子報表2子報表3引入式子報表運行結果(子表延用主表的格線)統(tǒng)計圖的定義潤乾報表的統(tǒng)計圖數(shù)據(jù)來源于報表內(nèi)而非重新再設置數(shù)據(jù)源,因而也可以支持多表多庫的統(tǒng)計圖。同一張報表可繪制多個統(tǒng)計圖,甚至可繪制在分組內(nèi),隨著數(shù)據(jù)分組一起擴展成多個。統(tǒng)計圖數(shù)據(jù)定義圖形特性定義外觀屬性定義時間狀態(tài)圖定義報表參數(shù)與宏潤乾報表一般意義的報表參數(shù)功能。參數(shù)有數(shù)據(jù)類型,可以用于報表的數(shù)據(jù)源(SQL語句)或報表中的運算表達式中。報表參數(shù)定義SQL語句中使用參數(shù)除參數(shù)外,潤乾報表還提供特有的宏。宏沒有數(shù)據(jù)類據(jù),僅是簡單地在語句或表達式中替換。例如,可以將SQL語句中SELECT的列名或FROM的表名或ORDERBY的方向甚至整句SQL語句都作為宏而臨時改變,這樣將給使用者提供更加靈活的控制方式。舉例說明,如果將一個SQL語句的WHERE條件中<100改成<200,可以采用普通意義的參數(shù),但若想將<100改成>200,則用參數(shù)就不可能作到了,但采用宏則可輕易完成。帶有參數(shù)和宏的報表B2格帶有參數(shù)。B6格中帶有宏,可用于替換參數(shù)無法完成的報表選出字段。向導與工具潤乾報表軟件提供了強有力的輔助工具,可以幫助用戶更方便、更高效地進行報表設計。報表設計向導潤乾報表對于簡單的行式、分組與交叉報表提供設計向導,用戶只需要選擇相應的數(shù)據(jù)表列即可以自動生成出報表。分組報表定義向導交叉報表定義向導(行列定義)交叉報表定義向導(值定義)SQL編輯器潤乾報表提供標準SQL編輯對話框,用戶不必記憶數(shù)據(jù)庫表/字段名稱,可直接在SQL編輯器中選擇要操作的數(shù)據(jù)元素,設計查詢、排序條件等。同時潤乾報表也支持直接輸入SQL語句。SQL語句編輯器(字段選擇)SQL語句編輯器(參數(shù)引用)中文語義層/表達式潤乾報表支持中間語義層機制,開發(fā)人員可將數(shù)據(jù)結構事先以業(yè)務人員熟悉的術語進行描述,在設計報表時即可直接采用這些語義信息,而不必直接面向物理數(shù)據(jù)結構。同時,潤乾報表還支持中文表達式,如可以寫類似價格*數(shù)量這樣的表達式,使報表設計更加通俗易懂。數(shù)據(jù)表與字段的中文描述定義字段外觀預定義數(shù)據(jù)集字段中文定義公式編輯/函數(shù)幫助潤乾報表提供可視化的表達式編輯對話框,用戶不必記憶系統(tǒng)提供的眾多函數(shù)與需要操作的數(shù)據(jù)集元素,表達式的大部分都可以簡單地用鼠標點擊出來,而且對所有系統(tǒng)函數(shù)均有詳細的在線幫助。公式編輯器函數(shù)幫助報表展現(xiàn)輸出潤乾報表不需安裝控件,可以實現(xiàn)純HTML報表方式,可以支持PDF,EXCEL等輸出,提供了全面的頁面與打印控制,能很多地滿足Web報表的展現(xiàn)需要。同時,潤乾報表對圖表有良好的支持,可以生成柱圖、餅圖、折線圖等二十幾種圖表。報表元素的外觀屬性潤乾報表對報表元素提供非常豐富的外觀屬性,計有:潤乾報表單元格外觀屬性列表字體、字號前景色、背景色,均支持調色板和透明顯示邊框:類EXCEL,可設計線型線寬對齊方式:左中右/上中下對齊,自動折行,縮進顯示格式:文字、數(shù)值、日期時間等數(shù)十種風格單元格顯示格式定位拉伸:橫向擴展表時保證標題居中或居右定位拉伸例子,D2/E2格設計了定位規(guī)則,在B2橫向擴展時會向右靠攏,結果如下:所有的屬性均可用表達式控制。含有屬性表達式的報表屬性中填寫的表達式運算結果,不及格的下劃線且居中,偶數(shù)行是斜體統(tǒng)計圖潤乾報表支持如下23種類型的統(tǒng)計圖:柱形圖三維柱形圖三維簇狀柱形圖堆積柱形圖三維堆積柱形圖餅圖三維餅圖折線圖三維折線圖區(qū)域圖三維區(qū)域圖條形圖三維條形圖三維簇狀條形圖堆積條形圖散列圖時序狀態(tài)圖時間走勢圖雙軸柱線圖雙軸折線圖雷達圖甘特圖儀表盤針對不同需要,在瀏覽器上可生成如下三種圖片類型GIF:256色,可透明顯示,不失真壓縮JPG:真彩色,不可透明,失真壓縮PNG:真彩色,可透明,不失真壓縮潤乾報表的部分統(tǒng)計圖頁面(HTML)輸出潤乾報表可在WEB上生成標準的純HTML輸出格式,對IE5和Netscape7以及上版本均可支持且效果一致,統(tǒng)計圖則完成以純HTML圖片形式展現(xiàn),瀏覽器端無須事先安裝任何插件。潤乾報表在WEB上的展示,可隨意嵌入到網(wǎng)頁的任何地方除靜態(tài)HTML外,潤乾報表還可生成固定表頭(上/左均可)的可滾動報表以及行式分組可伸縮報表,大大方便了用戶的使用。瀏覽器上表頭固定可上下左右滾動顯示的報表文件輸出除標準HTML外,潤乾報表還可將報表以文件方式導出,例如:EXCEL潤乾報表可輸出完全不失真的EXCEL文件,報表中的統(tǒng)計圖也將嵌入其中,并附帶有各種打印屬性,生成的EXCEL可不作任何調整直接打印而不會喪失格式信息。還可對導出的EXCEL進行進一步的加工處理。PDF潤乾報表可輸出PDF文件,報表中的統(tǒng)計圖也將嵌入,并附有紙張打印信息,結果可直接輸出打印。TEXT潤乾報表可生成專為金融、郵政等行業(yè)字符終端應用服務的帶格式文本,報表格線由中文表格符拼出,并可在其中設置Escape碼,可直接在字符打印機上輸出。RAT文件RAT文件是潤乾報表自有的文件格式,用以保存運算后的報表結果,其中帶有統(tǒng)計圖、紙張打印信息等,可由潤乾報表設計器打開查看以實現(xiàn)報表的脫機瀏覽(不依賴于第三方軟件且可在UNIX上顯示),并可打印或再次輸出成上述幾種格式的文件。輸出的EXCEL文件,保持所有格式且能將統(tǒng)計圖一并導出輸出的PDF文件,帶有分頁信息,并導出了統(tǒng)計圖獨有的帶格式文本輸出,可直接輸出在字符中終分頁與分欄潤乾報表對報表頁面提供了強有力的控制功能:分頁方案可支持按紙張大小分頁、按行列數(shù)分頁、強制分頁(分組后或固定行列);分頁方向支持縱向和橫向雙方向分頁,有上表頭、頁眉、頁腳、左表頭等功能。上/左表頭信息每頁均會合理重復;單元格拆分單一單元格不能被分頁拆分,當合并單元格被拆分時可選擇其中數(shù)據(jù)是否也分頁斷開顯示;報表紙張與分頁屬性定義單元格分頁屬性定義行分區(qū)類型列分區(qū)類型分欄及其它支持橫向分欄;支持末頁補足空行的操作;分欄輸出的報表打印潤乾報表可通過采用JavaApplet的方式實現(xiàn)瀏覽器中的精確打印,可支持如下功能:一紙多頁,實現(xiàn)小票據(jù)或卡片式打印,可選擇按行排列和按列排列;縮放與定位:打印前的縮放及在紙張中的定位控制頁碼控制,選擇不同頁碼打印打印前可控制是否允許再修改數(shù)據(jù)打印預覽畫面,支持一紙多頁,可縮放顯示數(shù)據(jù)填報潤乾報表提供基于動態(tài)庫表關聯(lián)技術的填報功能,完美解決數(shù)據(jù)入庫的難題,極大提高填報表單的處理效率,擴展了Web報表工具的應用方式。編輯風格潤乾報表在瀏覽器端采用純HTML填寫方案,可提供如下編輯風格:文字編輯框下拉列表框:下拉項目為固定內(nèi)容下拉數(shù)據(jù)框:下拉項目來自數(shù)據(jù)表,可帶檢索條件復選框下拉日歷下拉樹:樹結點可來自于數(shù)據(jù)表,并可自動循環(huán)文件/圖片上載支持的編輯風格下拉數(shù)據(jù)表上載文件編輯下拉樹編輯填寫控制在填報過程中,可以進行嚴格的填寫控制,包括:可填寫控制:該單元格是否可以填寫,可能屬性表達式控制自動計算:某些單元格是由其它單元格運算而成的,當基礎單元格的數(shù)據(jù)被修改時,目標單元格的數(shù)據(jù)自動跟隨改變,計算公式在設計時設定好合法性檢查:考察數(shù)據(jù)填寫是否合理,某單元格的數(shù)據(jù)類型是否匹配(如在數(shù)字格中填入了非數(shù)字字符),單元格之間必須滿足的數(shù)據(jù)校驗關系(如某格的數(shù)據(jù)必須大于另一格的數(shù)據(jù));對于輸入錯誤的數(shù)據(jù),系統(tǒng)會給出事先設置好的提示信息并定位出有錯單元格方便輸入者修改錯誤;合法性檢查有兩種:即時檢查:填寫當前格,輸入焦點離開該格時進行檢查,若校驗不滿足則不得離開焦點提交檢查:全部填完后在提交數(shù)據(jù)前進行檢查,校驗不滿足則不得提交設計者還可以設置校驗不滿足時的提示信息,以提示用戶出錯的原因。自動計算定義合法性檢查定義多頁填寫:潤乾報表提供了多頁填報taglib,當要填寫內(nèi)容很多時,可以組織成多個tab式的頁面一齊填寫,在JSP中可以設定多頁表單之間的填寫控制關系。多頁填報及相關的合法性檢查(跨頁)數(shù)據(jù)導入與離線編輯潤乾報表還可支持離線填報和批量導入數(shù)據(jù)的能力:離線填報潤乾報表生成的HTML表單可下載成本地文件中,其中保留了JavaScript代碼,因此所有的填寫控制均依然有效。用戶直接用瀏覽器打開這些離線HTML即可繼續(xù)填寫數(shù)據(jù),填寫過程中可以多次保存而不必與服務器有網(wǎng)絡連接,填寫完成后再聯(lián)機上傳即可將數(shù)據(jù)提交到服務器的數(shù)據(jù)庫中。離線填報還可以采用導出或用戶自行繪制的EXCEL文件進行,只要報表格式一致即可將EXCEL數(shù)據(jù)引入報表中,這使得許多已采用EXCEL填寫數(shù)據(jù)的業(yè)務系統(tǒng)切換到潤乾報表非常容易。批量導入離線用的HTML(或EXCEL)也可不是從瀏覽器下載而成,而由報表服務器批量生成并采用某種方式(EMAIL、軟盤等)分發(fā)給填報人,由填報人填好后再收集回來。潤乾報表支持文件導入功能,可將收集回的報表批量導入到數(shù)據(jù)庫中。離線填寫(仍可帶有合法性檢查關系)庫表關聯(lián)潤乾報表支持如下三種基本填報表樣:自由式表格:整表對應一條記錄,各字段分布在多個無規(guī)律的單元格中,如人員的基本情況表;行(列)式表格:數(shù)據(jù)區(qū)每行(列)對應一條記錄,如人員的履歷表,記錄的某些字段(一般是主索引碼的一部分)會在行外,如人員履歷表中的人員編號,這是最常見的表格式樣;設計時只要設置一行(列)的數(shù)據(jù)庫對應屬性,其它行(列)會由系統(tǒng)自動擴展。交叉式表格:數(shù)據(jù)區(qū)每格對應一條記錄,如學生課程成績表,左邊是學生,上邊是課程,數(shù)據(jù)區(qū)是成績;設計時只要設置一格的數(shù)據(jù)庫對應屬性,其它格會由系統(tǒng)自動擴展生成。潤乾報表同時支持以上三種表樣的混合,如一張?zhí)顖蟊淼纳习氩糠质亲杂墒奖砀?、下半部分是行式表格。還可以是更復雜的多頁混合的填報表單。一個單元格的數(shù)據(jù)可以同時寫入多個數(shù)據(jù)表,并且與其數(shù)據(jù)來源無關,從而可以很方便地實現(xiàn)匯總填報。潤乾報表更新屬性定義數(shù)據(jù)寫入潤乾報表支持同一張?zhí)顚懕韱瓮瑫r寫入多個數(shù)據(jù)表/多條記錄的情況,填報服務程序會利用數(shù)據(jù)庫事務功能保證其一致性。在設計表單模板時建立了數(shù)據(jù)庫字段與表單單元格之間的對應關系。服務器會根據(jù)對應關系生成SQL語句。程序會自動決定生成UPDATE還是INSERT語句,同時會自動判斷數(shù)據(jù)庫的類型,在SQL語句中添加相關的數(shù)據(jù)類型轉換函數(shù)(如在ORACLE中的日期常數(shù)要加TO_DATE,而SQLServer則是CONVERT)。示意圖可參見HYPERLINK節(jié)。交互與OLAP潤乾報表提供了強有力的交互能力和分析能力,能夠支持用戶進行OLAP分析。靈活定義的查詢和參數(shù)功能在很多情況下,用戶需要通過輸入條件,對數(shù)據(jù)進行查詢,并靈活控制顯示的數(shù)據(jù)范圍。潤乾報表通過參數(shù)模板的功能,可以非常靈活地定義各種查詢界面和查詢條件,由用戶方便地輸入查詢條件,交互式地控制報表的內(nèi)容和形式。實際上,影響一個報表的參數(shù)可能有很多項,其中部分參數(shù)是應用系統(tǒng)或環(huán)境的基本信息,不應當再由用戶輸入,如當前登錄的用戶角色、當天的日期等。無須輸入的參數(shù)被稱之為系統(tǒng)參數(shù),對應的需要輸入的稱為用戶參數(shù)。潤乾報表提供了強有力的參數(shù)處理機制,可以分別對待處理這兩類不同情況的參數(shù)。潤乾報表支持如下四種參數(shù)機制:缺省參數(shù)界面潤乾報表將根據(jù)報表的參數(shù)信息自動生成一個非常簡單的參數(shù)輸入界面,直接在taglib中配置就可以選擇是否出現(xiàn)該界面。該界面不能區(qū)分系統(tǒng)參數(shù)和用戶參數(shù),它將報表的所有參數(shù)都羅列出來,而且也只能提供最簡單的文字輸入方案,不能做出下拉選擇等效果。一般這種參數(shù)方式都是用于報表測試的,因其業(yè)務色彩太過薄弱,在實際應用中很少使用。自寫參數(shù)界面由應用程序員為每個報表專門編寫參數(shù)輸入界面(.JSP),將輸入后的用戶參數(shù)配合上系統(tǒng)參數(shù)設置到報表服務器,可以直接調用服務器的API設置,也可以在taglib的屬性中設置。自寫參數(shù)可以讓程序員對報表查詢有最深入的控制力度,如可在某個參數(shù)輸入完成后立即引起頁面的變動而不必等所有參數(shù)全部輸入完畢、某些參數(shù)的選值范圍可能被別一些參數(shù)過濾等。這樣可以造出更好的交互式效果,但相應的工作量也較繁瑣。繪制參數(shù)界面潤乾報表提供可繪制的參數(shù)界面。系統(tǒng)設計了一個專門的參數(shù)面板taglib,可發(fā)布由用戶進行參數(shù)填寫的界面,其中可以支持象下拉選擇等任何編輯風格與填寫控制方案。報表設計時并不涉及其參數(shù)界面,一個報表可以有多種參數(shù)輸入界面。參數(shù)界面是自行繪制的(利用報表設計器畫),可以只涉及用戶參數(shù)。一般在頁面程序(.JSP)中將參數(shù)界面與報表展現(xiàn)配合起來,并且在這里將系統(tǒng)參數(shù)與用戶參數(shù)配合起來提交給報表服務器。與自寫參數(shù)界面相比,繪制參數(shù)的方案可以省去許多編寫頁面程序(.JSP)的工作量,也能獲得控制力度略弱但仍很友好的輸入界面,而且也較易于維護,這是最常用的參數(shù)輸入機制。參數(shù)面板的定義參數(shù)的執(zhí)行生成參數(shù)界面對于批量較有規(guī)律的報表,程序員也可以采用生動生成參數(shù)界面的方案,這種方案事實上與潤乾報表自帶的缺省參數(shù)界面類似。所不同的是由應用程序員根據(jù)業(yè)務特色編寫程序自動生成參數(shù)界面,這樣可以帶有較強的業(yè)務色彩,使其實用起來。報表服務器提供了讀出報表參數(shù)的API,同時可以在報表設計時設置參數(shù)的某些自定義屬性,應用程序則根據(jù)這些信息自動生成相應的參數(shù)界面,區(qū)分出系統(tǒng)參數(shù)與用戶參數(shù),并根據(jù)參數(shù)屬性生成不同的編輯風格和填寫控制等。通用查詢潤乾報表還提供通用查詢功能,設計人員可以為每張報表定義與參數(shù)無關的可查詢指標及每個指標對應的條件編輯方案(如某些條件需要下拉出來),采用潤乾報表提供的通用查詢標簽(taglib)即可在頁面上生成通用條件設置界面,用戶可選擇一個或多個指標并分別提出對每個指標的條件,再將這些條件聯(lián)接起來(AND/OR)形成完整的查詢條件,直接影響報表用于取出數(shù)據(jù)的SQL語句。如可以對人員報表提出類似姓名LIKE“張%”AND(籍貫=“北京”O(jiān)R學歷>“本科”)的條件,而不必為事先為該報表設置好參數(shù)。通用查詢輸入界面自定義報表及其變換潤乾報表提供了豐富的API和預制程序,可以結合用戶的元數(shù)據(jù)的語義層定義(這些定義不一定是僅存在于報表和數(shù)據(jù)分析系統(tǒng),而更應該是屬于整個數(shù)據(jù)體系),實現(xiàn)靈活的自定義報表功能。在潤乾報表設計器上能做的所有工作均有相應的API提供,如設置單元格屬性、數(shù)據(jù)源定義等。由于產(chǎn)品提供的API非常豐富,表格樣式與EXCEL類似而易于理解和單元格定位,對于不復雜的自定義報表可以很容易生成。還可以在用設計器繪制的報表基礎上用API進行修改控制使其完成各種變換功能,如改變其排序條件、修改選出列、改變統(tǒng)計圖類型等,使得用戶在頁面端能感受到實際的交互作用。同時,潤乾報表提供了大量預制的自定義報表代碼,可以通過簡單的修改即與用戶的元數(shù)據(jù)定義結合起來,實現(xiàn)自定義報表功能。點擊標題排序改變統(tǒng)計圖類型鉆取潤乾報表可實現(xiàn)靈活的鉆取功能,另外對行式分組報表提供可收放的展現(xiàn)方案。鏈接鉆取潤乾報表的所有單元格和統(tǒng)計圖的圖例上都可以加上超鏈接,且可以引當前單元格的值和統(tǒng)計圖圖例對應值作為超鏈接的參數(shù)。這樣,可以將幾張事先做好的報表通過鏈接參數(shù)串到一起,實現(xiàn)對數(shù)據(jù)的逐級鉆取。鉆取報表例子。每個單元格都可以生成超鏈接進行鉆取,統(tǒng)計圖的圖例也可以生成超鏈接做鉆取。收縮展開潤乾報表生成的行向多層統(tǒng)計報表可以在網(wǎng)頁上動態(tài)展開收縮(由于HTML的限制,列方向目前無法提供此項功能),類似一般的樹狀結構,用戶可以自由選擇展開到哪些項目和展到哪一層次。也可以表現(xiàn)出動態(tài)鉆取聚集的效果??墒湛s展開的報表,點擊分類左邊的圖標即可在頁面上動態(tài)展開和收縮報表,實現(xiàn)動態(tài)分層查看報表的效果。報表管理中心潤乾報表提供了報表管理中心組件,可以進行完整的報表、用戶及權限管理。報表管理中心在用戶無條件將報表應用集成到完整的企業(yè)信息平臺或其他應用系統(tǒng)的情況下,提供了方便、簡捷、高效的解決方案,可以幫助用戶快速將報表應用投入實際使用。報表管理中心采用全B/S方案,管理與應用都在WEB上進行。用戶權限潤乾報表管理中心提供了高效的用戶與權限管理機制。在報表管理中心中,可以進行用戶、用戶組的設置與管理,并以此做為權限管理的基礎??梢钥刂撇煌脩?、用戶組的權限,從而保證只有用戶才能看到與自己的相關的、被授權的報表,可靠地保證了企業(yè)的數(shù)據(jù)和信息安全??梢葬槍τ脩艋蛴脩艚M設置相應的宏或參數(shù)(比如:某個用戶組都使用一個“華北地區(qū)”的參數(shù),則可以很方便地控制他們在查看銷售數(shù)據(jù)時只能看到華北地區(qū)的數(shù)據(jù),而不需要為不同的用戶設置不同的報表)。樹形功能組織報表管理中心模塊提供了樹形功能組織結構,可以建立用戶自定義的多層次的報表目錄。在報表目錄中,不僅可以對報表進行管理,還可以對其他超鏈接(URL)進行管理,方便用戶獲取各種信息。報表目錄的層次沒有限制,可以多層次展開。結合用戶及權限管理功能,可以對樹形報表目錄的每一個節(jié)點進行基于用戶或用戶組的權限控制。同時,在報表目錄顯示時,會自動根據(jù)用戶權限,展現(xiàn)不同的視圖。還可以將宏與參數(shù)直接設置在目錄樹的葉節(jié)點上,以實現(xiàn)最常用查詢而無須每次輸入?yún)?shù),如某節(jié)點功能可定義為“本月費用統(tǒng)計”或“去年當月費用統(tǒng)計”,點擊這些節(jié)點將自動生成相應報表。報表任務調度潤乾報表提供了強有力的報表任務調度功能,可以實現(xiàn)定時、批量等報表自動處理和報表的自動分發(fā)。調度器采用全B/S方案,管理設置完全在WEB上進行。任務管理與觸發(fā)潤乾報表調度器允許把多個同等條件觸發(fā)的報表調度工作組合成一個任務。每個任務均有確定的時間觸發(fā)條件,目前提供如下幾種:每隔n分鐘執(zhí)行;每天x點執(zhí)行;每周x日執(zhí)行;每月x日執(zhí)行;每季x日執(zhí)行;每半年x日執(zhí)行;每年x日執(zhí)行;自定義條件:可由用戶根據(jù)自已業(yè)務情況組合出更復雜的條件,如果每月的第二個星期二下午5點等,還可以臨時決定該任務是否需要啟動。參數(shù)循環(huán)報表運算可能有各種參數(shù),需要設置相應的參數(shù)循環(huán)才能完成報表任務的運算調度工作(如計算某月每天的交易匯總、計算某省所有地區(qū)的業(yè)務統(tǒng)計表),潤乾報表調度器提供如下的參數(shù)循環(huán)機制:固定序列,如計算某幾個確定地區(qū)的報表,將地區(qū)編碼寫成固定序列函數(shù)表達式,如1to12以觸發(fā)計算1月到12月的報表SQL語句,從數(shù)據(jù)庫表中取出需要循環(huán)的參數(shù)自定義:由程序員自行編寫代碼生成的參數(shù)列表分發(fā)控制生成完的報表還需要完善的分發(fā)機制,潤乾報表調度器可生成TEXT、HTML、EXCEL、PDF、RAT等多種運算結果(可組合),并可根據(jù)任務的分發(fā)設置決定生成結果的去向,計有:存入本地文件系統(tǒng):將結果按規(guī)定的目錄體系存入調度器所在的本地文件系統(tǒng);FTP:通用FTP協(xié)議將結果上載到指定服務器;EMAIL:通過EMAIL將結果發(fā)送給指定EMAIL帳號,可讓相關人通過郵件及時收到報表運算結果;自定義:由程序員自行處理報表運算的結果,如可寫入數(shù)據(jù)庫等;部署與應用方案報表設計模式潤乾報表提供了本地設計和集成(遠程)設計兩種模式,可以靈活地進行報表設計。本地設計(獨立應用)本地設計指報表模板文件存于本地文件系統(tǒng)中且數(shù)據(jù)庫是直連的(JDBC或其它自定義方式),這時潤乾報表設計器可作為一個獨立的應用程序使用,用于繪制和輸出各種統(tǒng)計報表,其應用結構如下圖:數(shù)據(jù)庫數(shù)據(jù)庫報表文件語義層定義打印機或輸出文檔發(fā)布報表設計器用戶通過報表設計器連上數(shù)據(jù)源(一般是數(shù)據(jù)庫)后可以直接繪制各種報表,將執(zhí)行結果打印輸出或生成各種公共的文件格式(HTML、EXCEL、PDF等)提交給其他人閱讀。在繪制報表時可由應用開發(fā)人員事先設計好語義層定義,這樣,報表設計人員看到的將都是經(jīng)過業(yè)務描述過的數(shù)據(jù)視圖(其中表和字段名都可有中文描述),可以更加方便制作報表并降低使用難度(報表中的表達式也可寫成中文)。數(shù)據(jù)源也可以不是數(shù)據(jù)庫,而是一些數(shù)據(jù)文件甚至是一段程序(但必須是JAVA寫的),由應用開發(fā)人員事先編寫并定義好數(shù)據(jù)源,業(yè)務人員就可以直接使用于制作報表。集成(遠程)設計基于可選的集成(遠程)設計支持包,潤乾報表設計器可被集成于用戶的統(tǒng)一門戶管理之下(B/S或C/S均可,B/S下需采用WebStart機制啟動設計器),報表模板文件可送交遠程的資源管理服務自行處理,而不是必須在本地存取,同時可通過支持包中附帶的HTTP-JDBC接口連接遠程的數(shù)據(jù)庫進行報表設計和預覽,而非直連到數(shù)據(jù)庫上(在WEB端設計時原則上根本就不允許直接到數(shù)據(jù)源上),從而保證文件(資源)與數(shù)據(jù)都能夠接受統(tǒng)一的門戶權限管理。數(shù)據(jù)庫數(shù)據(jù)庫文件服務管理發(fā)布HTTP-JDBC接口發(fā)布報表模板/語義層配置報表設計器瀏覽器或用戶門戶WebServer報表應用部署方式潤乾報表可以支持多種不同應用環(huán)境下的部署。J2EE的B/S應用潤乾報表服務器以JAVA類包(jar)形式提交,非常適合在J2EE下集成。WebServerWebServer數(shù)據(jù)源報表模板瀏覽器報表服務器用戶應用系統(tǒng)(JSP/servlet)潤乾報表服務器是個邏輯概念,并沒有一個物理的服務器在運行。它是作為應用服務器上的一個應用提交的,或者直接向應用程序員提交JAR包。應用程序在JSP中使用tablib或直接調用開放的JAVAAPI就可以方便應用潤乾報表的各項功能、對報表進行廣泛深入的控制,而且可以達到最高的運行效率,同時還能夠與應用程序共享應用服務器的連接池管理或進行集成與負載均衡,并可與應用程序一起統(tǒng)一部署。統(tǒng)計圖等BLOB類數(shù)據(jù)輸出采用流式服務,不會在文件系統(tǒng)中產(chǎn)生任何臨時文件。非J2EE的B/S應用非J2EE機制的WEB應用集成潤乾報表一般采用WebService的方式,JavaWebServerJavaWebServer報表模板報表服務器數(shù)據(jù)源WEB應用系統(tǒng)在應用系統(tǒng)的后臺運行報表服務器,向其它WEB應用提供WebService,通過URL訪問機制傳遞參數(shù)并獲得運算完成的HTML結果流(或EXCEL、PDF流),然后再由該應用發(fā)布到瀏覽器上。特別地,在MicrosoftIIS下,可采用專門的WEB服務轉發(fā)程序,潤乾報表除JAVAAPI外的各項功能均能夠與IIS的透明集成。Windows下的GUI應用采用可選的Windows展現(xiàn)控件可將潤乾報表應用于WindowsGUI程序中(如Delphi、VB編寫的C/S程序)。還可以將報表生成成EXCEL/PDF流再采用第三方控件展現(xiàn)在GUI應用畫面中。WebServerWebServer報表模板數(shù)據(jù)源報表服務器展現(xiàn)控件(JSP或servlet)GUI主程序(JSP或servlet)EXCEL/PDFDLL(JSP或servlet)UNIX下字符終端應用面對運行在UNIX下,由C/C++編寫,前端輸出是字符終端的應用系統(tǒng),潤乾報表仍可以順利應用。采用UNIX的C接口包可將潤乾報表特有的字符終端報表解決方案應用于這類程序中。通常情況下,報表服務器和C接口以及業(yè)務程序都物理上運行在同一臺機器上,數(shù)據(jù)則即可能是直接從后臺數(shù)據(jù)源(一般都是數(shù)據(jù)庫)中讀出,也可能是由業(yè)務程序寫出的特定格式的文件。此時,從報表服務器輸出的結果應是表格符拼出的文本,通過C接口提交給業(yè)務程序進行下一步的輸出打印。潤乾報表的C接口在UNIX下以源碼形式提交,即向程序員提供.H和.C文件,由應用程序員與其業(yè)務程序一起編譯。報表模板報表模板數(shù)據(jù)源報表服務器C接口(JSP或servlet)數(shù)據(jù)文件業(yè)務程序(JSP或servlet)JavaApplication在JavaApplication中集成潤乾報表與在J2EE機制下的WEB應用類似,可直接調用報表服務器提供的API接口。同時,產(chǎn)品還提供了用于展現(xiàn)的swing控件,可以直接嵌入到JavaApplication的圖形界面中。此時,報表參數(shù)需要用API設置。報表模板報表模板數(shù)據(jù)源JavaApplication主程序報表服務器展現(xiàn)控件數(shù)據(jù)報送應用方式除了統(tǒng)計匯總外,潤乾報表還可以用于數(shù)據(jù)采集,即在WEB上填寫數(shù)據(jù)報送到中央服務器。潤乾報表支持聯(lián)機填報、脫機填報和批量導入等多種方式,可以良好地以持多級匯總填報。填報功能只能被集成到應用系統(tǒng)中,而不能單獨運行。填報能力可以運行在基于J2EE和.NET的B/S應用和WindowsGUI應用中,而不能支持其它形式B/S應用和UNIX字符終端應用。聯(lián)機填報數(shù)據(jù)源數(shù)據(jù)源報表模板報表服務器用戶應用系統(tǒng)(JSP/servlet)HTML填報表瀏覽器WebServer潤乾報表服務器程序在后臺根據(jù)繪制好的報表文件生成可以填寫的HTML表單,用戶直接在瀏覽器中填寫表格,提交后再由潤乾報表服務器根據(jù)填寫內(nèi)容和報表文件模板生成相應的SQL語句,將數(shù)據(jù)寫入數(shù)據(jù)庫。這時要求數(shù)據(jù)源有可寫的能力,所以必須是數(shù)據(jù)庫。填報表單的模板報表文件仍然采用報表設計器繪制,和普通的統(tǒng)計報表不同,填報表單增加了一些與之相關的屬性。在生成的HTML表單中同時加入了用于處理填寫控制的JavaScript代碼,這些代碼是根據(jù)設計時的填報屬性自動生成的。在JSP中還可以自行編寫代碼地填寫活動進行更深入的控制,表單的單元格名稱即是HTML中對象的名稱。基于這種方式,潤乾報表提供了多頁填報taglib,當要填寫內(nèi)容很多時,可以組織成多個tab式的頁面一齊填寫,在JSP中可以設定多頁表單之間的填寫控制關系。脫機填報和批量導入潤乾報表生成的HTML表單可以被下載到本地文件系統(tǒng)中,從而支持離線填報。下載出來的表單中保留了JavaScript代碼,因此其中所有的填寫控制均依然有效,多頁填報時所有頁及其相關關系也一體地保存起來了。用戶直接用瀏覽器打開保存下來的離線HTML即可繼續(xù)填寫數(shù)據(jù),填寫過程中可以多次保存而不必與服務器有網(wǎng)絡連接,填寫完成后再聯(lián)機上傳即可將數(shù)據(jù)提交到服務器的數(shù)據(jù)庫中。離線填報時不支持圖片和文件的上載。離線填寫也可以采用EXCEL文件進行,但要保證該EXCEL文件樣式與填報用的表單是完全一樣的。潤乾報表可以上載EXCEL文件被將其中數(shù)據(jù)讀出并對應地填入填報表單中再提交到數(shù)據(jù)庫。相對于EXCEL,采用HTML離線填報的優(yōu)勢在于表樣不容易被修改,且填寫控制也更豐富一些,而EXCEL則很可能被填寫人誤操作修改(如加刪行列),這樣會導致表格樣式不一致而增加入庫工作的復雜度。因此,建議不采用EXCEL作為填報文件。但以往用過的EXCEL填報文件則可以被讀入將其中數(shù)據(jù)寫入數(shù)據(jù)庫。WebServerWebServer數(shù)據(jù)源報表模板報表服務器用戶應用系統(tǒng)(JSP/servlet)HTML填報表瀏覽器離線EXCEL離線HTML表離線用的HTML(或EXCEL)也可不是從瀏覽器下載而成,而由報表服務器批量生成并采用某種方式(EMAIL、軟盤等)分發(fā)給填報人,由填報人填好后再收集回來。潤乾報表支持批量數(shù)據(jù)文件導入的功能,可將收集回的報表批量分析將其數(shù)據(jù)導入到數(shù)據(jù)庫中。多級匯總填報填報業(yè)務常常會是多級的,除最底級是面對原始空表填寫外,其它各級都是將下級的數(shù)據(jù)匯總之后再填報給上級。潤乾報表支持這種匯總填報,填報表首先是一個統(tǒng)計匯總表,然后再在其上定義填報屬性。統(tǒng)計匯總的數(shù)據(jù)來源可以和填報的數(shù)據(jù)目標可以是沒有任何關系的,兩者可以分別來自完全不同的一些數(shù)據(jù)表,甚至是不同的數(shù)據(jù)庫!系統(tǒng)可以從本級的數(shù)據(jù)庫(表)中匯總出一個統(tǒng)計表,然后發(fā)布出來填寫,用戶可以修改統(tǒng)計結果或填入一些原統(tǒng)計結果中沒有的信息,然后再提交寫入上級的數(shù)據(jù)庫中。原始填報表原始填報表匯總填報表統(tǒng)計匯總表上級數(shù)據(jù)庫下級數(shù)據(jù)庫報表服務器如果匯總出來的統(tǒng)計表中沒有可以填寫的項目,則可以用作匯總數(shù)據(jù)的合法性檢查,在提交檢查時,系統(tǒng)并不關心是否有信息被填寫過,而只是簡單地在表格中應用各項合法性檢查規(guī)則,這樣,可以在統(tǒng)計報表上定義一些規(guī)則用以檢查從各個口徑下統(tǒng)計上來的數(shù)據(jù)是否有誤。支持環(huán)境潤乾報表采用純JAVA開發(fā),報表設計器使用了swing圖形類包,要求JDK1.4.1及以上版本。WEB發(fā)布包要求JDK1.3及以上版本。潤乾報表支持提供上述JDK環(huán)境的所有操作系統(tǒng),如Windows系列、Linux、Solaris、AIX、HPUX等。對UNIX操作系統(tǒng)下若其JDK版本在1.4及以下,則需要有XWindows環(huán)境。潤乾報表支持所有提供JDBC2.0及以上版本的關系數(shù)據(jù)庫。如Oracle、MSSQLServer、SybaseSQLServer、IBMDB2、IBMInformix等。潤乾報表支持提供JSP1.1及以上版本、servlet2.3及以上版本的所有J2EE機制的Web服務器,如Tomcat、Resin、BEAWebLogic、IBMWebSphere、OracleApplicationServer、SunOne等。潤乾報表在前端瀏覽器采用標準純HTML,精確打印需要JavaApplet,統(tǒng)計圖采用純HTML圖片形式展現(xiàn),瀏覽器端無須安裝任何控件,IE5及Netscape7以上均支持且效果一致。性能指標與控制性能分析決定運算速度的關鍵對于報表工具而言,決定運算速度的關鍵是數(shù)據(jù)源運算。除了極特殊的情況外(下文另有說明),一般情況下都是源數(shù)據(jù)量遠遠大于報表中顯示出來的數(shù)據(jù)量,源數(shù)據(jù)可能有幾百萬、幾千萬條,顯示出來的可能是幾十條、一兩百條。傳統(tǒng)工具的數(shù)據(jù)源運算一般交由數(shù)據(jù)庫完成,通過復雜的SQL或者存儲過程進行。潤乾報表也完全支持這種模式,因此潤乾報表的總體運算性能至少可以做到與其它傳統(tǒng)工具基本相當。但是,數(shù)據(jù)源運算交由數(shù)據(jù)庫完成有一定的缺陷。首先,這樣就要求數(shù)據(jù)源有運算能力,幾乎必須是數(shù)據(jù)庫,比如我們不能讓兩個文件進行叉乘連接;其次,各種數(shù)據(jù)庫的運算函數(shù)和語句規(guī)則相差很大,很難做到報表在異構數(shù)據(jù)庫之間移植。除利用數(shù)據(jù)庫運算外,潤乾報表還支持自行進行數(shù)據(jù)源運算,在多源報表(中國報表中最常見的多源情況)且數(shù)據(jù)量較大時性能會明顯優(yōu)于數(shù)據(jù)庫運算。傳統(tǒng)工具的數(shù)據(jù)源運算處理這種報表都是采用多數(shù)據(jù)表JOIN的方案,其運算速度度嚴重依賴于SQL書寫的優(yōu)化程度與數(shù)據(jù)庫的智能水平,連接條件復雜時其計算復雜度將是O(Nk),其中k是涉及到的數(shù)據(jù)表數(shù),國內(nèi)報表中這個k值常常大于5。而潤乾報表的運算則是將數(shù)據(jù)集取出后,一般只是多個兩表連接,最多是三表連接(交叉表),其計算復雜度為O(N2)或O(N3)。當數(shù)據(jù)量大和表多時,運算速度將有明顯的優(yōu)勢。并發(fā)數(shù)量潤乾報表采用純J2EE體系架構,可以直接嵌入應用系統(tǒng),可以在應用服務器上集群部署。相對于其他采用J2EE的報表工具,在應用服務器層面潤乾與其沒有什么差別,但由于潤乾的報表模型的優(yōu)勢,因此在使用數(shù)據(jù)庫的強度上要低于其他報表工具,從而在單機并發(fā)數(shù)量上具有優(yōu)勢。而相對于采用獨立服務器方式的報表工具,由于潤乾可以直接嵌入到應用服務器中,因此不需要經(jīng)過應用服務器與報表服務器的基于網(wǎng)絡層的傳輸環(huán)節(jié),因此效率大大提高。并且,潤乾作為JAVA報表產(chǎn)品,可以很容易地在應用服務器集群下部署,從而大大提高并發(fā)能力。實測指標實測指標與用于測試的報表本身有很大的相關性(表達式復雜度等),其測試結果常常不具有可比性。為簡化和提高可對比性,這里的測試都采用最簡單的行式(分組)報表。容量潤乾報表3.5版的實測結果是2G內(nèi)存下可支持到約300萬單元格。事實上,樣式和運算復雜的統(tǒng)計報表,其單元格數(shù)一般不會很大,一般單元格數(shù)在幾千的數(shù)量級,這類報表可以被輕松處理。顯示數(shù)據(jù)量大的報表,往往是數(shù)據(jù)記錄很多的簡單明細報表,按一行20格、一頁25行計算,300萬格可以支持6000頁。在絕大多數(shù)情況下,這個指標是完全可以實用的。響應實測結果,P4/2G/512M的PC機上,源數(shù)據(jù)有100萬條記錄顯示結果約10萬格的分組報表在10分鐘內(nèi)可以運算并輸出完畢,其中2/3左右的時間被用在JDBC讀數(shù)上。并發(fā)實測結果,在512M內(nèi)存的機器上,每用戶生成5000單元格的報表,支持70個以上并發(fā)數(shù),在P42G芯片上的平均響應時間是2秒左右??刂剖侄螖?shù)據(jù)集緩存與索引對于超大數(shù)據(jù)量的源數(shù)據(jù)集,潤乾報表提供了數(shù)據(jù)集緩存機制,數(shù)據(jù)量大并不會影響運算的正常進行。同時,潤乾報表還為數(shù)據(jù)集提供了索引功能,使對數(shù)據(jù)集的查找計算采用二叉樹的方案進行,較大地提高計算性能。數(shù)據(jù)集索引設置并發(fā)限制對于輸出結果很大的報表,如果并發(fā)較多,可能會導致內(nèi)存消耗過多從而使系統(tǒng)效率急劇下降。潤乾報表為此類大容量報表設定了并發(fā)限制控制,將其并發(fā)數(shù)量控制在預定的范圍內(nèi),超出的并發(fā)數(shù)都被轉成串行處理,以確保服務器的其它各項服務以及其它報表的運算能正常進行下去。頁面緩存潤乾報表提供HTML頁面的緩存機制,同參數(shù)的報表在指定的時間內(nèi)只會計算一次,不必重復計算以提高響應速度。集成接口潤乾報表為二次開發(fā)提供了豐富的集成接口,可以很容易將其無縫嵌入到用戶的各種應用程序中。數(shù)據(jù)源潤乾報表運算時的數(shù)據(jù)來源可以是標準的關系數(shù)據(jù)庫、OLAPServer、數(shù)據(jù)文件以及用戶自定義程序。JDBC潤乾報表直接支持所有提供JDBC2.0及以上版本接口的關系數(shù)據(jù)庫

溫馨提示

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

評論

0/150

提交評論