这个指南演示了如何使用 Pentaho BI Platform 运行 Birt 和 Jasper 报表。这个指南解释了每种类型的报表定义,一步步的教会你如何在平台中建立一个 action sequence,设置 JDBC drivers,并验证报表。 php
This page last changed on Dec 04, 2006 by mdamour. mysql
This page last changed on Dec 04, 2006 by mdamour. sql
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" 区域定义的报表参数的名字。 浏览器
对于上面的实例,一个报表参数名为 "REGION",以下定义报表参数: 服务器
2.用 BIRT 建立一个 Action Sequence app
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 文档的名字必须匹配里面的 <name> 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。
输入; 有 2 个 inputs,output-type 和 REGION。注意 REGION 输入和 BIRT 的报表参数同名。这很重要。下面实例的 output-type 是 '1html'1,其余可接受的 output-types 是 pdf, fo 和 fop。
资源; 在这节中,咱们定义了一个 '1report-definition'1,其指向 BIRT .rptdesign XML 文件。
Actions; 对于这个实例,咱们仅有一个 action-definition。component-name 标识处理 action 的 Java 类。对于 BIRT 报表,使用名字 '1BIRTReportComponent'1。这个 action 有2个输入,output-type 和 REGION。这些输入定义于 action-sequence 文档的 inputs 区域。
This page last changed on Dec 04, 2006 by mdamour.
BIRT 报表包含 JDBC 链接信息,其被 BIRT 用于生成报表。由于咱们正在 Pentaho 框架内生成报表,咱们必须将咱们使用的数据库的 JDBC driver 放在 {PCI}/jboss/server/default/lib 下。
This page last changed on Dec 04, 2006 by mdamour.
在此处,报表应该被插入,准备使用。将你的 web 浏览器指向你的 PCI (一般是 http://localhost:8080)。浏览至你在 Reporting Examples group 下建立的报表。
此处你被提示输入参数。
成功!此处咱们看见了生成的 HTML 格式的报表。
This page last changed on Dec 04, 2006 by mdamour.
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 中建立参数,而后在你的报表查询中引用参数。
以上报表正使用一个名为 "STATE" 的参数。为了使得可在 Pentaho solution 中,提示用户输入参数 STATE 的值,你必须以下所示,当建立参数时,选择 "Is for prompting"。
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 文档的名字必须匹配其中的 <name> 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。
输入; 有 2 个 inputs,output-type 和 STATE。注意 STATE 输入和 JasperReport 使用的报表参数同名。这很重要。下面实例的 output-type 是 '1html'1。'1pdf'1 可能已被指定了。
资源; 在这个区域中,咱们定义了一个 '1report-definition'1,其指向 JasperReport .jrxml XML 文件。
Actions; 对于这个实例,咱们仅有一个 action-definition。component-name 标识了处理 action 的 Java 类。对于 JasperReports,使用 '1JasperReportsComponent'1。这个 action 有 2 个输入,output-type 和 STATE。这些输入定义于 action-sequence 文档的 inputs 区域。
This page last changed on Dec 04, 2006 by mdamour.
由于咱们将在 Pentaho 框架中生成报表,咱们必须将咱们正使用的数据库的 JDBC driver 放进{PCI}/jboss/server/default/lib。
不象 BIRT 报表定义,.jrxml 文件不包含报表的数据库链接信息。这个信息须要在 action sequence 中指定。能够以下在 action definitions 中定义数据库位置:
可使用 JNDI 名字识别数据库,仅仅经过点击 JNDI radio button,并输入一个名字。若是你想使用 JNDI 识别报表数据库,你须要以下配置 JBoss 将 JNDI 名字映射到你的数据库:
• 在 {PCI}/jboss/server/default/deploy 中为你的数据库类型建立一个 xxxx-ds.xml 文件。对于这个实例,咱们将建立具备如下内容的 mysql-ds.xml 文件。
<?xml version="1 .0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<j ndi-name>MySqlDS< /j ndi-name>
<connection-url>jdbc:mysql: //localhost: 3306/sampledata</connection-url> <driver-class>com.mysql .jdbc.Driver</driver-class>
<user-name>j im</user-name> <pas sword>password< /pas sword> <exception-sorter-class -name>
org.jboss . resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-clas s-name> <metadata>
<type-mapping>mySQL< / type -mapping> </metadata>
</ local-tx-datasource>
</datasources>
? 在 {PCI}/jboss/server/default/deploy/pentaho.war/WEB-INF/web.xml 中添加一个资源引用。
<resource-ref>
<description>MySql Connection</description> <res-ref-name>j dbc/MySqlDS</res-ref-name> <res-type>j avax. sql. DataSource</res-type> <res -auth>Container</res-auth>
</ resource - ref>
? 在 {PCI}/jboss/server/default/deploy/pentaho.war/WEB-INF/jboss-web.xml 中添加一个资源引用。
<resource-re f>
<res-ref-name>j dbc/MySqlDS</res-ref-name> <res-type>j avax. sql. DataSource</res-type> <jndi-name>j ava: /MySqlDS</j ndi-name>
</ resource - re f>
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 下建立的报表。
此处你被提示输入参数。
最后,咱们已经达到了咱们的目标!此处咱们能够看见生成的 HTML 格式的报表。好看么?