集成 BIRT 和 Jasper

集成BIRT 和Jasper

This page last changed on Dec 04, 2006 by mdamour.

这个指南演示了如何使用Pentaho BI Platform 运行Birt 和Jasper 报表。这个指南解释了

每种类型的报表定义,一步步的教会你如何在平台中创建一个action sequence,设置

JDBC drivers,并验证报表。

BIRT

This page last changed on Dec 04, 2006 by mdamour.

1.Eclipse BIRT 报表定义

This page last changed on Dec 04, 2006 by mdamour.

Eclipse BIRT 报表文件(report.rptdesign) 仅仅是具有有趣扩展的XML 文档。扩展使

得Eclipse IDE 能够识别BIRT 报表文件。Pentaho BIRTReportComponent (org. pentaho.plugin .eclipsebirt. BIRTReportComponent) 能够执行这些报表,产生HTML,PDF,FO 和FOP 格式的输出。

报表定义中的Eclipse BIRT 参数定义为Scalar Parameters。在BIRT 中,一个参数必须被添加到一个Data Set。当创建一个Data Set 或编辑一个现有Data Set 时完成这个操作。Data Set editor 对话框中有一个"Parameters" 区域,这是你定义参数的地方。当定义参数"Default Value" 时,必须遵照以下约定:params["SOME_PARAMETER"]。

"SOME_PARAMETER" 必须匹配BIRT 的Data Explorer "Report Parameters" 区域定义的报表参数的名字。

集成 BIRT 和 Jasper

对于上面的实例,一个报表参数名为"REGION",如下定义报表参数:

集成 BIRT 和 Jasper

2.用BIRT 创建一个Action Sequence

This page last changed on Dec 04, 2006 by mdamour.

在验证了报表在BIRT 中正常运作以后,我们可以放心的把之放进一个Pentaho solution。将BIRT 报表复制进{PCI}/pentaho-solutions/samples/reporting 中。现在我们需要作的就是创建一个Pentaho action sequence XML 文档,并将之保存进

{PCI}/pentaho-solutions/samples/reporting。这个文档由几部分组成:文档,输入,输出,资源和action 定义。注意action sequence 文档的名字必须匹配里面的 XML tag。使用Pentaho Design Studio 使得这个过程变得很简单。关于如何使用Design Studio 的详细信息,请从Sourceforge 下载文档,其位于:

http ://sourceforge. net/project/showfiles. php?group id= 1403 17&package id= 171242.

文档; 这个区域允许你包含作者信息,一个描述,表示action sequence 的一个图标,一个

help URL 和一个result-type。对于这个实例,我们指定'1report'1作为result-type。

集成 BIRT 和 Jasper

输入; 有 2 个inputs,output-type 和REGION。注意REGION 输入和BIRT 的报表参数同名。这很重要。下面实例的output-type 是'1html'1,其他可接受的output-types 是pdf,fo 和fop。

集成 BIRT 和 Jasper

资源; 在这节中,我们定义了一个'1report-definition'1,其指向BIRT .rptdesign XML 文件。

集成 BIRT 和 Jasper

Actions; 对于这个实例,我们仅有一个action-definition。component-name 标识处理action 的Java 类。对于BIRT 报表,使用名字'1BIRTReportComponent'1。这个action 有2个输入,output-type 和REGION。这些输入定义于action-sequence 文档的inputs 区

域。

集成 BIRT 和 Jasper

3.BIRT JDBC Driver 设置

This page last changed on Dec 04, 2006 by mdamour.

BIRT 报表包含JDBC 连接信息,其被BIRT 用于生成报表。因为我们正在Pentaho 框架内生成报表,我们必须将我们使用的数据库的JDBC driver 放在{PCI}/jboss/server/default/lib 下。

4.在Pentaho 平台中验证BIRT 集成

This page last changed on Dec 04, 2006 by mdamour.

在此处,报表应该被插入,准备使用。将你的web 浏览器指向你的PCI (通常是

http://localhost:8080)。浏览至你在Reporting Examples group 下创建的报表。

集成 BIRT 和 Jasper

此处你被提示输入参数。

集成 BIRT 和 Jasper

集成 BIRT 和 Jasper

成功!此处我们看见了生成的HTML 格式的报表。

Jasper

This page last changed on Dec 04, 2006 by mdamour.

1. JasperReports 报表定义

This page last changed on Dec 04, 2006 by mdamour.

JasperReports 报表文件(report.jrxml) 也仅仅是具有有趣扩展的XML 文档。在JasperReports 中,.jrxml 文件被认为是你的报表的"源码"。在你执行报表之前,你必须将文件编译进一个具有.jasper 扩展名的文件。Pentaho JasperReportsComponent

(org.pentaho. plugin .jasperreports.JasperReportsComponent) 被设计来帮你完成这个"编译",因此你需要作的就是获取.jrxml 文件。Pentaho JasperReportsComponent 能够执行这些报表,生成HTML 或PDF 格式的输出。

JasperReports 参数在报表定义中定义。如果你正使用iReport 创建你的JasperReports,

你在你的Object Library 中创建参数,然后在你的报表查询中引用参数。

集成 BIRT 和 Jasper

以上报表正使用一个名为"STATE" 的参数。为了使得可在Pentaho solution 中,提示用户输入参数STATE 的值,你必须如下所示,当创建参数时,选择"Is for prompting"。

集成 BIRT 和 Jasper

2. 用Jasper 创建一个Action Sequence

This page last changed on Dec 04, 2006 by mdamour.

现在可将JasperReport 放进一个Pentaho solution。将jrxml 文件复制进{PCI}/pentaho-solutions/samples/reporting。现在我们需要作的就是创建一个Pentaho action sequence XML 文档,并将之保存进{PCI}/pentaho-solutions/samples/reporting。这个文档由几部分组成:文档,输入,输出,资源和action 定义。注意action sequence 文档的名字必须匹配其中的 XML tag。Pentaho Design Studio 再次使得这个过程变得简单。关于如何使用Design Studio 的详细信息,请从Sourceforge 下载文档,其位于:http ://sourceforge. net/project/showfiles. php?group id= 1403 17&package id= 171242.

文档; 这个区域允许你包含作者信息,一个描述,表示action sequence 的一个图标,一

个help URL 和一个result-type。对于这个实例,我们指定'1report'1作为result-type。

集成 BIRT 和 Jasper

输入; 有 2 个inputs,output-type 和STATE。注意STATE 输入和JasperReport 使用的报表参数同名。这很重要。下面实例的output-type 是'1html'1。'1pdf'1可能已被指定了。

集成 BIRT 和 Jasper

XML 文件。

集成 BIRT 和 Jasper

Actions; 对于这个实例,我们仅有一个action-definition。component-name 标识了处理action 的Java 类。对于JasperReports,使用'1JasperReportsComponent'1。这个action 有 2 个输入,output-type 和STATE。这些输入定义于action-sequence 文档的

inputs 区域。

集成 BIRT 和 Jasper

3. Jasper JDBC Driver 设置

This page last changed on Dec 04, 2006 by mdamour.

因为我们将在Pentaho 框架中生成报表,我们必须将我们正使用的数据库的JDBC driver 放进{PCI}/jboss/server/default/lib。

不象BIRT 报表定义,.jrxml 文件不包含报表的数据库连接信息。这个信息需要在action

sequence 中指定。可以如下在action definitions 中定义数据库位置:

集成 BIRT 和 Jasper

可以使用JNDI 名字识别数据库,仅仅通过点击JNDI radio button,并输入一个名字。如果你想使用JNDI 识别报表数据库,你需要如下配置JBoss 将JNDI 名字映射到你的数据库:

? 在{PCI}/jboss/server/default/deploy 中为你的数据库类型创建一个xxxx-ds.xml 文件。对于这个实例,我们将创建具有以下内容的mysql-ds.xml 文件。

MySqlDS< /j ndi-name>

jdbc:mysql: //localhost:

3306/sampledata

com.mysql .jdbc.Driver

j

im

>

sword>password<

/pas sword>

ter-class

-name>

org.jboss . resource.adapter.jdbc.vendor.MySQLExceptionSorter

ter-clas s-name>

mySQL<

/ type -mapping>

?在{PCI}/jboss/server/default/deploy/pentaho.war/WEB-INF/web.xml 中添加一个资源引用。

MySql

Connection

j

dbc/MySqlDS

j avax. sql.

DataSource

-auth>Container

?在

{PCI}/jboss/server/default/deploy/pentaho.war/W EB-INF/j

boss-web.xml 中添加一个资源引用。

j

dbc/MySqlDS

j avax. sql.

DataSource

j ava:

/MySqlDS

4. 在Pentaho 平台中验证JasperReports 集成

This page last changed on Dec 04, 2006 by mdamour.

重启你的Pentaho 服务器,通过运行{PCI}/stop_pentaho,然后运行{PCI}/start_pentaho。此处,报表应该被插入,准备使用了。将你的web 浏览器指向你的PCI (通常

http://localhost:8080)。浏览至你在Reporting Examples group 下创建的报表。

集成 BIRT 和 Jasper

此处你被提示输入参数。

集成 BIRT 和 Jasper

最后,我们已经达到了我们的目标!此处我们可以看见生成的HTML 格式的报表。好看么?

相关文档