轉-Pentaho技術白皮書中文版(五)--集成 BIRT 和 Jasper

這個指南演示瞭如何使用 Pentaho BI Platform 運行 Birt 和 Jasper 報表。這個指南解釋了每種類型的報表定義,一步步的教會你如何在平臺中建立一個 action sequence,設置 JDBC drivers,並驗證報表。 php

BIRT html

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

1.Eclipse BIRT 報表定義 web

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 區域。

 

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 下建立的報表。

此處你被提示輸入參數。

成功!此處咱們看見了生成的 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 中建立參數,而後在你的報表查詢中引用參數。

以上報表正使用一個名爲 "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 區域。

 

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 中定義數據庫位置:

可使用 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 格式的報表。好看麼?

相關文章
相關標籤/搜索