count from item,user_item
where item.itemid= user_item.itemid
and user_item.userid= ?
同时在数据集items上创建参数user,它对应SQL中的参数。
D. 从"Palette"视图拖入"列表"到报表中,在"属性编辑器"的"绑定"页中,选择数据集为user。它用来显示主表的信息,在本例中是用户信息。
E. 从"Palette"视图拖入"网格"到"列表"的"明细数据"中,设置网格为1行2列,它用来存放"用户姓名"和"用户地址"。在"数据资源管理器"视图,选择数据集user,将username和addr分别拖入网格的2列中。
F. 在"数据资源管理器"视图,选择数据集items,将它拖入"列表"的"明细数据"中,位于刚刚插入的网格下方。此时,BIRT会生成数据集items对应的"表"。
G. 选择刚刚生成的"表",在"属性编辑器"的"绑定"页中,会出现在items中定义的参数。修改它的值:row["userid"]。于是,父子报表就发生了联系。
H. 选择预览,或运行报表,就可以看到结果了。
很遗憾,到目前为止,另一种最常见的报表"交叉表"还不被BIRT支持。但是,BIRT的官方网站已明确表示,将在未来的版本中支持它。
3. 统计图表
俗话说,"一图顶千言"。没有图的报表是枯燥,且缺乏表现力的。在本例中,我们将使用图表来表示:每个用户的消费总数。
A. 创建新报表和数据源。
B. 创建数据集chart,使用SQL:
select user.username,round(sum(item.price*user_item.count),2)
from item, user_item, user
where item.itemid= user_item.itemid
and user.userid= user_item.userid
group by user.username
|
C. 从"Palette"视图拖入"图表"到报表中,此时会弹出"编辑图表"窗体。
D. 在"选择图表类型"页,选择图表类型为"条形图"。在"选择数据"页,使用数据集chart,同时选中username列,将其拖入"类别x系列"。对于统计列,同样将其拖入"类别y系列"。在"图表格式"页,分别为x和y系列,填写相应的显示名称。
E. 选择预览,或运行报表,即可看到统计图表。
4. 使用脚本
可以使用脚本,是BIRT的一大特色。在BIRT中,数据源、数据集和报表项,都可以书写脚本。具体做法:选择数据源、数据集和报表项任意一种对象,然后选择"脚本"页面。如选择数据源user后,对应的脚本输入页面:
选择对应的事件,然后在下方的脚本输入框中输入脚本即可。如对于第一个例子,我们需要统计用户地址是"No.5 St."的用户数:
A. 选择数据集,然后选择"脚本",进入数据集的脚本编辑窗口。
B. 选择事件"afterOpen",在脚本窗口内输入:count=0;
C. 选择事件"onFetch",在脚本窗口内输入:if( row["addr"]== "No.5 St.") count++;
D. 选择报表,在脚本窗口选择事件"onRender",输入:this.caption=count;
E. 预览,或运行报表后,会在报表的标题输出count的数值。
另外,BIRT也支持使用java来作为报表项的事件处理程序。具体做法,请参见BIRT的帮助文档。
5. 库和模板
除了脚本使开发者可以自定义报表的行为外,BIRT还提供了库和模板机制来重用设计,加快报表的开发。在TheServerSide上有一篇相当详细的文档:Using Eclipse BIRT Report Libraries and Templates。
应用集成
BIRT与现有应用的集成非常简单,由于BIRT主要是web应用,本节以web应用为例进行说明。
1. 从Eclipse BIRT官方网站下载birt-runtime-2_0_0.zip。
2. 解压之后,只需要其中的web view example目录下的内容。
3. 复制以下第三方软件包到web view example目录:
需要的jar文件
复制位置
Apache Axis
axis.jar axis-ant.jar commons-discovery-0.2.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar |
WEB-INF/Lib |
iText 1.3
itext-1.3.jar |
Plugins/org.eclipse.birt.report.engine.emitter.pdf/lib |
prototype.js v1.4.0
prototype.js v1.4.0 |
ajax/lib |
4. 将web view example目录发布到web容器中,如tomcat,改名:birtApp。
5. 启动tomcat,并访问birtApp。在首页中选择"View Example",如果成功发布,系统将提示成功。
6. 发布设计完成的报表文件,在birtApp中创建reports目录,用于存放报表设计文件。
7. 在应用中通过:http://localhost:8080/birtApp/frameset?__report=报表文件路径,就可以访问报表了。
这个web应用支持2个动作:
- frameset,以frameset的形式显示报表。这个界面包含一些frame,如页面导航,报表主体在其中的一个frame中显示;使用形式:
http://localhost:8080/birtApp/frameset?__report=报表文件路径&参数=........
- run,报表以一个单独的html页面或pdf显示,由于这种形式没有frmaeset,因此使用者必须自己提供相应的参数,如报表参数,页号等。使用形式:
http://localhost:8080/birtApp/run?__report=报表文件路径&参数=........
对于以上2个动作,以下列出可用的参数:
选项
说明
__format
报表输出格式:html或pdf,缺省是html。对于frameset不起作用。 |
__isnull
指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。 |
__locale
本地化选项,缺省是jvm的locale。 |
__report
报表设计文件路径。 |
报表参数
报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,弹出的参数值已经改变。 |
虽然本节所说的是针对web应用的集成,但是这种方法同样也可与非web应用集成。此时,我们可以采取一种变通的方法:在非web应用中使用内嵌的web容器,如jetty,也可达到同样的效果。这种做法和Eclipse的做法类似。还记得在报表设计时使用"报表 -> 运行报表"吗?那个弹出的窗体,实际就是一个web页面。
结论
与一些老牌报表软件相比,BIRT可能仍显稚嫩。然而,它也不乏其独到之处,如脚本控制、库和模板。加之有世界领先的报表厂商Actuate支持,实际上BIRT的ROM(Report Object Model)就是Actuate捐献的,我们有充分的理由对BIRT的前景表示乐观。
参考资料
关于作者
分享到:
相关推荐
BIRT:基于 Eclipse 的报表 简单上手,绝对不错
BIRT Business Intelligence and Reporting Tools 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统 特别之处在于它是以 Java 和 JavaEE 为基础 BIRT 有两个主要组件:基于 Eclipse 的报表设计器 以及部署到应用...
**BIRT** (Business Intelligence and Reporting Tools) 是一个基于Eclipse平台的开源报表系统,主要为Java和J2EE应用程序提供报表设计和集成的功能。它不仅提供了一个强大的报表设计器,还提供了用于发布和集成报表...
BIRT(Business Intelligence and Reporting Tools)是一款基于Eclipse平台的开源报表系统,它为开发者提供了强大的报表设计工具以及灵活的报表运行环境。BIRT 主要针对 Java 和 J2EE 平台上的 Web 应用程序,其核心...
BIRT(Business Intelligence and Reporting Tools,商业智能与报表工具)是一个基于Eclipse框架的开源报表系统。它为开发者提供了一整套完整的报告设计工具及运行时组件,允许开发者创建专业级别的报表并将其集成到...
BIRT(Business Intelligence and Reporting Tools)是一个基于Eclipse的开源的报表工具。它的核心是由著名的报表供应商Actuate(安讯)公司贡献。 BIRT主要是用在基于Java与J2EE的Web应用程序上,同时可以与PHP很好...
Birt的核心组成部分包括一个基于Eclipse的报表设计器,用于创建和编辑报表,以及一个可嵌入到应用服务器中的运行时组件,负责报表的生成和展示。\n\n报表的基本概念是理解Birt的关键。数据源是指报表数据的来源,...
BIRT是一个开放源代码的报表系统,它为开发者提供了丰富的API和设计工具,可以集成到任何Java应用程序中,特别是那些基于Web的应用。BIRT支持多种数据源,包括关系数据库、XML、Java对象等,能够生成各种静态和交互...
设计时使用BIRT Report Designer,一个基于Eclipse的集成开发环境,用于创建和编辑报表;运行时则是在应用程序中展示报表的部分。 **2. 安装BIRT** 要开始使用BIRT,首先需要下载并安装Eclipse IDE和BIRT插件。通过...
BIRT(Business Intelligence and Reporting Tools)是一款基于Eclipse的开源报表系统,它为开发者提供了一个强大的报告设计和展示平台。BIRT的主要优势在于其易用性、灵活性以及与Eclipse IDE的无缝集成,使得开发...
**BIRT(Business Intelligence and Reporting Tools)是Eclipse开源项目的一部分,主要用于开发数据报表和商业智能解决方案。在本文中,我们将深入探讨BIRT的基本概念、安装步骤、报表设计过程以及如何利用Eclipse...
BIRT (Business Intelligence and Reporting Tools), 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 JavaEE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署...
"eclipse报表插件BIRT中文教程及示例html"可能包含以下内容: 1. **安装与配置**:指导如何在Eclipse中安装BIRT插件,设置工作空间和数据源。 2. **报表设计基础**:介绍如何创建新报表,添加数据集,使用控件和样式...
1. **设计环境**:BIRT Report Designer是基于Eclipse IDE的集成开发环境,允许用户通过拖放方式创建复杂的报表布局。它支持多种图表类型、表格、图像、文本和自定义组件。 2. **数据源与查询**:BIRT支持多种数据...
在本文中,我们将深入探讨如何在Eclipse集成Business Intelligence and Reporting Tools (BIRT)来创建和管理报表。BIRT是一款开源的报告系统,用于生成基于Web的和离线的报表,它提供了强大的数据可视化和分析功能。...
BIRT 是一个开源的报表系统,它基于强大的 Eclipse IDE,旨在为Java和J2EE应用程序提供丰富的图形和报表功能。 **步骤一:准备开发环境** 首先,你需要从官方站点http://www.eclipse.org/downloads/下载Eclipse IDE...
总的来说,Eclipse 3.7 Birt汉化包是中文用户在开发基于BIRT报表的应用程序时的一大助手,它显著提升了用户体验,使得操作更加直观易懂。通过充分利用BIRT的这些功能,开发者可以快速高效地创建出高质量、富有洞察力...
1. **BIRT设计师**:这是一个基于Eclipse IDE的报表构建工具,提供了拖放功能,使用户能够快速设计报表。报表以XML格式存储,便于理解和编辑。设计师包括多个视图,如报表编辑器、数据浏览视图等,提供了一站式的...
Java Web项目集成开源报表工具BIRT 本文将指导读者如何将BIRT开源报表工具集成到已有的Java Web项目中,以Birt4.4.2为例。下面是具体的步骤和知识点: 步骤1:下载BIRT 首先,读者需要下载BIRT的最新版本。在BIRT...