Java報表軟件技術(shù)討論

          Style Report報表專題
          posts - 97, comments - 3, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          讓用戶自己設計和修訂報表是報表軟件很多年來所不斷追求的一個境界。但在很多嘗試之后,我們可以說離用戶自定義報表還有很大的距離。現(xiàn)有的解決方案大致可以歸為兩類。第一種是把桌面報表設計界面搬到瀏覽器上。第二種是提供一個簡單的Wizard界面,讓用戶可以在不需要培訓的情況下,可以自己做一些設計。

          把桌面設計界面直接搬到網(wǎng)上基本上是把技術(shù)的和應用混淆了。這類型里最具代表的廠家當屬Cognos和它的ReportNet。ReportNet應該是最早應用AJAX技術(shù)在瀏覽器里全面實現(xiàn)報表設計界面的報表產(chǎn)品。從技術(shù)的角度,ReportNet的實現(xiàn)方式在2004年可以算是當之無愧的技術(shù)領(lǐng)先者。但這并不表示用了最新的技術(shù)就解決了用戶的問題。

          其實用戶是否需要安裝一個軟件,只是自定義報表的很多因素中的一個。在讓用戶可以任何時間都使用報表設計界面的基礎(chǔ)上,這個軟件還必須帶來一個既易用又強大的工具。如果我們把一個給開發(fā)人員使用的工具交給終端用戶,得到的結(jié)果只能是一群迷茫的用戶。這往往還要改變工具的使用模式。

          而提供一個簡單Wizard的方式往往太過限制。報表Wizard通常提供了一些基本的功能,比如數(shù)據(jù)選擇,排序,過濾,匯總等。雖然這些功能聽起來很多,但除了一些最簡單的報表,用戶基本上不能做出太多的東西。在實際操作中,Wizard大概只能滿足不到30%的客戶需求。


          在討論及時報表的時候,很多人會把報表設計和Spreadsheet做比較。問題往往是為什么Spreadsheet可以讓用戶自己設計,而報表設計卻這么難。那下面就來分析一下報表設計難度的原因。


          設計報表最困難的一點是怎么得到需要顯示的數(shù)據(jù)。在使用Spreadsheet的時候,用戶可以看到具體的數(shù)據(jù),和直接在具體數(shù)據(jù)上操作。而在設計報表時,用戶不可能直接接觸數(shù)據(jù)。因為用戶只能根據(jù)數(shù)據(jù)的結(jié)構(gòu)來選擇,就需要一定的抽象思維。而對沒有專業(yè)訓練的用戶,要進行這樣操作通常會有一些難度。


          第二點是在設計報表時用戶往往需要達到一定的布局。而在設計的時候,用戶還要考慮到報表的輸出,和分頁等繁瑣的細節(jié)。而大部分的用戶在自定義報表時常常最關(guān)心的是數(shù)據(jù)和數(shù)據(jù)的計算。但很多報表設計界面卻強迫用戶同時關(guān)注報表的編排,從而增加了設計的難度。


          Java報表廠家在追逐了即席報表很多年以后,一直沒有找到一個可行的解決方案。可以說現(xiàn)在已經(jīng)是要換一個新的思路的時候了。


          從根本上解決用戶自定義報表的問題,我們必須要解決數(shù)據(jù)的提取和處理,同時需要簡化報表的排列。


          簡化數(shù)據(jù)的處理是一個很困難的任務。絕大多數(shù)用戶并沒有數(shù)據(jù)庫的經(jīng)驗。要讓他們掌握數(shù)據(jù)的提取,必須給他們提供一個十分所得及所見的環(huán)境。而大多數(shù)報表的軟件往往把數(shù)據(jù)的功能限制在過濾,分組,和匯總的層面上,極大地限制了工具的靈活性。


          要克服這些缺點,Java報表工具必須擺脫傳統(tǒng)的數(shù)據(jù)處理的模型。不止是提供一個可以提取回顯示數(shù)據(jù)的功能,同時應用可視化的功能,讓用戶可以更加直觀的和數(shù)據(jù)互動。通過直觀的數(shù)據(jù)的顯示和在圖表上數(shù)據(jù)的操作,用戶可以在不用學習數(shù)據(jù)結(jié)構(gòu)的前提下直接對數(shù)據(jù)進行提前和處理。


          下面是一個典型的數(shù)據(jù)發(fā)布圖。



          如果用戶想要得到銷售數(shù)量大而又打折很低的產(chǎn)品,只需要在圖表上選擇左上角的點。





          然后通過顯示細節(jié)數(shù)據(jù)的功能來取出相應的數(shù)據(jù)。



          當然這只是通過可視化進行數(shù)據(jù)提取的形式之一。當一個BI工具提供了豐富的可視化互動功能時,用戶可以幾乎是無限制地對數(shù)據(jù)進行多樣的操作。完全不需要被數(shù)據(jù)庫的技術(shù)所限制。

          和此相輔相成的是對數(shù)據(jù)的呈現(xiàn)。數(shù)據(jù)可視化工具通常提供了一個讓用戶隨心所欲的排列信息的功能。因為用戶不需要關(guān)注最后數(shù)據(jù)的排版,界面的設計得到了極大的簡化。比如在我們需要顯示一個交叉表時,傳統(tǒng)的報表軟件要求用戶考慮到數(shù)據(jù)的擴展和的排版。而在一個互動的界面里,數(shù)據(jù)的擴展完全可以通過滾動條來控制。




          有些讀者可能會想,在電腦界面上使用滾動條固然好,但當要把結(jié)果輸出到打印時,用戶是否還是要對格式做一些指定。否則結(jié)果還是不能滿足使用的需求。這里有一定的道理。具體的使用就要看這個BI軟件是否有足夠的功能來自動地處理信息的擴展和排列。

          在大部分的情況下,軟件有足夠的信息自動的擴展和調(diào)整內(nèi)容的位置,從而達到一個讓大部分用戶可以接受的結(jié)果。





          在自動排版不能達到最理想效果的情況下,可視化軟件必須提供一個讓用戶自己安排內(nèi)容的途徑。一種可行的方式是自動把可視化界面轉(zhuǎn)化成用戶可以更多控制的報表的格式。當然,這種解決方案需要相應的軟件同時支持可視化和報表的功能。

          在今天高度信息化的環(huán)境里,電腦界面應該是一個主流的瀏覽和操作數(shù)據(jù)的途徑。當然打印的輸出也不能忽視。所以,通過可視化界面解決及時報表的方式,需要在這兩方面都有一個完整的解決方案。這樣,用戶既可以很簡易地生成自己需要的信息,又有足夠的控制來生成最后的結(jié)果。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 方山县| 九龙坡区| 岫岩| 西城区| 南投县| 沙洋县| 昌吉市| 珲春市| 龙胜| 嘉祥县| 清远市| 巨鹿县| 高雄县| 修文县| 德格县| 隆昌县| 株洲市| 黄浦区| 正镶白旗| 东丽区| 砚山县| 建阳市| 托克逊县| 盐山县| 兖州市| 临西县| 石门县| 治多县| 赣榆县| 雅江县| 通州区| 湖州市| 凯里市| 托里县| 临邑县| 漯河市| 安塞县| 普格县| 丽江市| 宾川县| 炎陵县|