posts - 310, comments - 6939, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Eclipse BIRT使用之BIRT Designer篇

          Posted on 2007-12-28 14:50 詩特林 閱讀(21178) 評論(9)  編輯  收藏 所屬分類: BI
           

          Eclipse BIRT使用之BIRT Designer

          在開源的報表工具中,EclipseBIRTBusiness Intelligence and Reporting Tools ,簡稱BIRT)應該是很重要的一種。BIRT基于Eclipse IDE開發,可以為Java/J2EE應用提供良好的圖形及報表。該報表工具主要包括以下幾大塊組成:

          l         BIRT Designer:用于進行報表的設計,因為以出報表之前,第一步需的做的就是設計模板,幾乎所有的報表工具都采用這樣的模式,如著名的JasperReports就有專門的iReports來進行報表設計。

          l         Web Viewer:在頁面上展現報表的工具,提供了大量的JSP標簽庫,方便將BIRT報表集成到J2EE項目中去。

          l         BIRT Charting包:用于構建成熟的圖表,因為在報表里如果能添加上圖表的話,則可以達到圖文并茂的效果。而BIRT Charting包正提供了這樣的功能。

          BIRT項目最初是2005年夏季發布,如今其下載量已過百萬,充分的說明了其受歡迎的程度。可以訪問BIRT的官方網站:http://www.eclipse.org/birt,這里有關于BIRT的介紹、教程、下載包、示例等等。


          1 Eclipse BIRT報表

          一、        BIRT Designer

          BIRT的核心就在于BIRT Designer,該設計器使用Eclipse插件功能,可以使設計過程通過拖放控件進行設計,達到所見即所得的效果。通過BIRT設計出來的報表文件,采用XML格式進行保存。


          2 BIRT Designer

          Eclipse BIRT設計器中,提供了多種視圖,以方便進行模板文件的設計。各種設計視圖如下:

          1Report Editor

          Report Editor提供了報表設計的畫板,可以擺放設計元素并將其格式化。包括布局的表格、主頁面、腳本、XML 文件源及預覽。

          l         布局表格:用于對整個報表界面進行整體布局,框架性的組件,支持拖放功能;

          l         主頁面:用于設置模板文件的共用屬性,如報表文件的頭、尾、背景圖片等;

          l         腳本:支持對JavaScript腳本的編輯,BIRT支持事件模型,因此可以使用JavaJavaScript來編寫事件處理器,事件處理器存在于報表的生成及渲染過程,可以用于修改報表的屬性、字體顏色、數據值或調用外部代碼;

          l         XML 文件源:用于查看報表模板中所用于的XML代碼,可以在這里進行XML內容的查看或編輯。

          l         預覽:把報表模板快速的渲染成為HTML格式文件進行預覽。如下圖所示:


          3 報表預覽

          2Data Explorer

          在進行報表設計之前,設置好數據庫連接通常是必須的。為了方便進行數據庫的連接設置,BIRT提供了Data Explorer視圖。


          4 BIRT Data Explorer

          這種視圖下可以允許為報表添加數據源及數據集。當然這里的數據源指是的數據庫連接。BIRT提供了對JDBCXML、腳本數據源等等的支持。隨著BIRT 2.2的發布,將支持Web Service數據源、CSVTSVSSVPSV等數據源。

          而數據集可以理解為已經被執行的查詢語句并返回的記錄集。BIRT提供了一種特殊的數據集:Joint Data Set(簡稱聯合數據集)。它可以對現在的數據集進行內連接或是外連接。當使用不同的數據源的,這種功能非常的實用。

          Data Explorer還可以用于添加報表參數及數據立方體。報表參數是暴露給報表模板使用人員的參數,參數傳遞相關參數值,可以個性化報表。例如,可以使用數據集參數來修改查詢語句,或使用BIRT JavaScript表達式來改變報表元素的樣式及可見性。

          報表參數可以是靜態的,也可以是動態的。靜態參數是指用戶可以從預先定義好的參數值可選取值,進行相關的展示或運算,最簡單就是文本框中的靜態內容。動態參數一般指在綁定到BIRT數據集,而用戶可以從中選取某些需要的數據或記錄。

          BIRT2.2中,動態報表參數支持使用JavaScript表態式來動態顯示文本或參數值。這樣即可以動態的顯示最終用戶所傳遞的參數值。

          此外,BIRT還支持聯動報表參數。可以設置二級或是三級的聯動下拉框或是List。最明顯的例子如下圖所示:


          5 BIRT聯動報表參數

          Data Explorer視圖中可以創建數據立方體。這是BIRT2.2的新特性,可以與BIRT中的交叉報表結合使用。BIRT數據立方體是多維的,可以基于多個數據集,如下圖所示:


          6  BIRT數據立方體

          除了上面的特性外,BIRT還新增了兩種用于支持其它數據源的項目類型。這類數據源基于EclipseDTPData Tools Platform)項目所提供的ODAOpen Data Access)框架



           

          7  BIRTODA設計工具

          3Palette

          BIRT Palette視圖用于給報表畫板添加報表元素。這里的元素可以代表從Data Explorer視圖中所設計的數據。Palette中的元素支持自由的拖放功能,Palette上的元素屬性可以通過屬性編輯器進行設計,也可以通過ROMBIRT Reports Object Model)進行描述。


          8  BIRTPalette視圖

          Palette包括以下一些常用的元素:

          l         Label:標簽元素用于顯示靜態文本,標簽元素的外觀可以通過本地進行設置,如設置標簽元素的超級連接、字體大小等屬性;

          l         Text:文本元素與標簽元素相似,只是文本元素可以顯示多行數據,更加易于格式輸出。可以在文本元素中使用腳本表達式,然后在客戶端使用標簽進行解析;

          l         Dynamic Text:動態文本元素通常用于顯示CLOB數據值。CLOB數據可以通過使用BIRT Expression Builder得到數據;

          l         Data:數據元素用于顯示數據源的數據,通過使用Expression Builder來操作或改變數據值。例如,數據集有包含姓列以及名列,那么可以使用Expression Builder來將姓列與名列進行合并,從而形成包含姓名的一列;

          l         Image:圖片元素用于在報表模板中顯示圖片。BIRT支持通過URL獲得圖片,或是從數據庫的取得圖片(BLOB),或是從本地硬盤上獲得圖片;

          l         Grid:網格元素用于布局報表中的報表元素,并進行統一的管理。例如,想在報表中顯示產品銷售數據表格,同時又想在右邊顯示一張圖表,此時則需要使用Grid來進行網格劃分,將報表分成一行兩列;

          l         List:列表元素也相當于一個容器,它不同于其它容器的地方在于列表元素可以綁定到數據集上。列表元素包含頭、腳及數據部分。當渲染列表元素時,頭與腳部分一次性渲染完成,而中間的數據部分需要顯示數據集的每一行數據。數據格式可以是文本元素,也可以是表格、列表等元素;

          l         Table:表格元素與列表元素相似,都可以用于顯示數據集中的數據。表格元素與HTML中的表格元素風格相似;

          l         Aggregation:匯總元素是BIRT 2.2新增的元素,使用Aggregation Builder向報表添加匯總功能。Aggregation Builder提供的匯總功能大概有25項,常見的如:SUMMINMAXAVERAGE等等;


          9  BIRTAggregation元素

          l         Chart:圖表元素用于在報表中添加圖表。當在報表中添加了圖表元素時,Chart Builder Wizard自動進行渲染并顯示。Chart Builder Wizard用于設計圖形,并提供了三大設置區域,分別是:設置圖表類型、設置數據、設置圖表格式。BIRT提供了大量的圖表類型,同時,圖表格式可以是PNGJPGBMPSVG等輸出格式。

          l         Cross Tab:交叉報表元素用于顯示BIRT數據立方體中的數據。在BIRT以前的版本中,表格中列數據需要在設計時就確定,而使用交叉報表元素,則列數據與行數可以動態生成,無需在報表設計時確定。


          10  BIRTCross Tab元素

          4Library Explorer

          Library Explorer支持從已存在的報表庫中拖放報表元素。因此,各種報表之間即可以共享一些公用的類庫元素。同時,修改其中某一公用的類庫元素,即可以修改所有的引用至此類庫元素的所有報表。例如,可以在類庫元素中保存公司的Logo,如果公司的Logo變化,則只需要修改類庫的中Logo元素即可,其它引用此Logo的報表無需修改。


          11  BIRTLibrary Explorer視圖

          5Property Editor

          Property Editor視圖用于設置報表中元素的屬性。當然,每種元素的屬性都不盡相同,因此,其界面都有所變化。當然也具有共用的一些屬性,如stylewidthfont等等。此外,大部分元素都支持是否可見的屬性。


          12 BIRTProperty Editor視圖

          6Outline

          Outline視圖通過層次關系來展現報表設計的內容及其相關元素的層次關系。可以從Outline中直接選擇元素進行查看或修改,當報表設計比較復雜時,Outline是相關方便有用的輔助工具。


          13  BIRTOutline視圖

          7 Miscellaneous

          BIRT 2.2中提供了對同一組數據進行多種視圖或表達的功能。例如,對同一組數據,可以使用報表展示,同時還可以進行圖形的展示。


          14  BIRTMiscellaneous視圖


          未完,等續,下篇寫         BIRT Web Viewer
          參考:http://www.infoq.com/articles/birt2-intro

          評論

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-01-11 11:07 by 三水少
          不錯

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-03-20 13:29 by winner
          不錯,繼續啊

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-05-26 14:57 by Sophia
          請問你的BIRT Web Viewer什么時候發表?我遇到個問題,不知道怎么解決,你能幫助我么?我的郵箱是:liulangyu_23@163.com
          我想用<birt:parameterPage>標簽做那個參數查詢報表,現在報錯是:
          Unable to load tag handler class "org.eclipse.birt.report.taglib.RequesterTag" for tag "birt:parameterPage"
          請問這個怎么解決???
          如果樓主您看到,請盡快回復:)謝謝

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-05-29 09:04 by leweslove
          因為報表文件是資源文件,我想在報表中增加一個文本框來實現查詢功能。
          能用JS腳本來增加么?如果能,請問怎樣增加?

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-07-18 13:38 by RogerTu
          BIRT開發團隊就在國內,關于BIRT問題,推薦其官方中文論壇 http://www.actuatechina.com/index.php

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-09-03 19:17 by 馬海軍
          請問用BIRT建立的立方體是否可以重用,是否可以用特殊的查詢語言將其查詢出來?

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-12-28 16:12 by fff
          birt 中調用java類的方法怎么沒反應啊

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2008-12-28 16:14 by fff
          請問在birt 的事件里調用java 方法怎么沒反應啊

          # re: Eclipse BIRT使用之BIRT Designer篇  回復  更多評論   

          2009-02-12 16:57 by 鐵龍
          @Sophia

          你沒有加載在birt的jsp標簽
          主站蜘蛛池模板: 武功县| 剑阁县| 灵武市| 郴州市| 灯塔市| 定安县| 天峻县| 佳木斯市| 安丘市| 西安市| 广河县| 正宁县| 芦山县| 廉江市| 平舆县| 清水河县| 库车县| 长顺县| 临朐县| 岳普湖县| 麻栗坡县| 江川县| 长汀县| 本溪| 雷波县| 常山县| 中宁县| 双鸭山市| 加查县| 武安市| 新泰市| 仲巴县| 博湖县| 宁河县| 平原县| 东平县| 奉新县| 进贤县| 永新县| 桦南县| 卓资县|