posts - 309, comments - 6940, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Eclipse BIRT使用之BIRT Designer篇

Posted on 2007-12-28 14:50 诗特林 阅读(20778) 评论(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标签

只有注册用户登录后才能发表评论。


网站导航: