Eclipse BIRT使用之BIRT Designer

在開源的報表工具中,Eclipse的BIRT(Business 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設計器中,提供了多種視圖,以方便進行模板文件的設計。各種設計視圖如下:

1.Report Editor

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

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

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

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

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

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


圖3 報表預覽

2.Data Explorer

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


圖4 BIRT Data Explorer

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

而數據集可以理解為已經被執行的查詢語句並返回的記錄集。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還新增了兩種用於支持其它數據源的項目類型。這類數據源基於Eclipse的DTP(Data Tools Platform)項目所提供的ODA(Open Data Access)框架



 

 

圖7  BIRT中ODA設計工具

3.Palette

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


圖8  BIRT的Palette視圖

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項,常見的如:SUM、MIN、MAX、AVERAGE等等;


圖9  BIRT的Aggregation元素

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

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


圖10  BIRT的Cross Tab元素

4.Library Explorer

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


圖11  BIRT的Library Explorer視圖

5.Property Editor

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


圖12 BIRT的Property Editor視圖

6.Outline

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


圖13  BIRT的Outline視圖

7. Miscellaneous

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


圖14  BIRT的Miscellaneous視圖

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechingOn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值