集成 BIRT 和 Jasper

集成 BIRT 和 Jasper
集成 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" 区域定义的报表参数的名字。

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

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。

输入; 有 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 文档的名字必须匹配其中的 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可能已被指定了。

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 文件。

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 下创建的报表。

此处你被提示输入参数。

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

【精编推荐】birt动态分组报表制作

【精编推荐】birt动态分组报表制作

1 BIRT报表开发环境准备 3 1.1 BIRT报表开发准备 3 1.2 建立Web Project 3 1.3 配置交叉报表数据源 6 1.3.1 建立公共资源的文件夹 6 1.3.2 建立公共资源Library 7 2 动态分组交叉报表11 2.1 建立报表文件夹11 2.2 建立报表文件12 2.3 复用报表数据源13 2.4 配置交叉报表结果集14 2.5 配置交叉报表分组字段17 2.5.1 新建Data Cuber 17 2.5.2 新建Groups 18 2.6 配置交叉报表求和字段19 2.7 交叉报表表样制作20 2.7.1 新建Cross Tab 20 2.7.2 完成报表表样制作21 2.8 报表分页实现21 2.9 预览交叉报表21 3 部署交叉报表22 4 运行交叉报表22

1BIRT报表开发环境准备 1.1 BIRT报表开发准备 (1)、Ecplise:这里我使用的是Eclipse Platform Version: 3.6.2。 (2)、BIRT插件:可以通过Ecplise中的Install New Software 添加Birt插件。插件地址:https://www.360docs.net/doc/336671499.html,//birt/update-site/2.6/ (3)、Tomcat:这里我使用的是apache-tomcat-6.0.16 1.2 建立Web Project (1)、新建Web Project 为了体现BIRT与实际应用项目相结合的特点,首先建立一个Web Project,工程命名为myReport。

birt报表技巧

Birt中的分页显示报表: 方法如下: 1、将鼠标停在表格上,选择明细数据行(Row Detail) 。 2、选择脚本(script)标签,在onPrepare方法中加入: count=0; 在onCreate方法中加入: count++; if(count % 10==0) { this.getStyle().pageBreakAfter="always"; } 然后放到服务器上运行,则实现分页显示。 Birt中报表参数的用法(一) Birt中有两种参数,一种是数据集参数,一种是报表参数。数据集参数一般是用于select语句中的?所代表的参数的。而报表参数一直则是整个报表的参数,定义它的目的一方面是和数据集参数绑定,一方面是在脚本中使用它。例如:我想设计一个报表,通过参数传递一个数据库中的表名,显示相应表中的数据,所有的表的结构一样!做法如下: 先定义数据源;然后定义数据集,查询选项中的语句写select * from [要传入的表名中的任意一个];然后定义一个报表参数table,设置一个默认值(默认表名);然后再数据集的脚本的beforeOpen方法中加入:this.queryText="select * from "+params["table"]; ;完成。 如何在Tomcat中配置使得能显示Birt Chart报表: 今天看了一本关于Birt方面的书,提到了在Tomcat中成功部署Birt的方法。我试了一下,果然可以,即可访问普通报表,又可访问chart报表,而且方法也比较简单。现介绍如下: 1、从网上下载birt-runtime-version.zip并解压 (https://www.360docs.net/doc/336671499.html,/birt/downloads/build.php?build=R-R1-2_1_3-200707051847)。 2、将解压后根目录中的WebViewerExample文件加复制到Tomcat根目录下的webapps 下面,并更名为birt_viewer2.2(因为我下的是2.2版本) 3、复制第三方软件:iText.jar(复制到 birt_viewer2.2\WEB-INF\platform\plugins\com.lowagie.itext_1.5.2.v20070626\lib 下)

birt教程之多层交叉汇总报表

birt教程之多层交叉汇总报表 1.1多层交叉汇总报表 1.1.1加入汇总 1.在3.8所建立的报表MultilayerCrosstab.rptdesign基础上,点击布局编辑器中Cross Tab左下角的“Cross Tab”图标选中本交叉表。在Property Editor属性编辑器中选择“Row Area”,(可参考图3-11)。 2.在左边的选项栏中选择第一个选项“Sub Totals”,点击编辑器右边的“Add”按钮,弹出加入次级汇总(本例即根据客户类型进行汇总)的窗口: 全部选择默认数据:点击“OK”完成创建。 3.在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入行汇总,同样,数据全选默认。点击“OK”完成创建。4.在属性编辑器Property Editor视图中选择“Column Area”,同样在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入列汇总,同样,数据全选默认。点击“OK”完成创建。 创建完毕后,布局编辑器如下图:

1.1.2格式化与预览 格式化后如下图: 预览结果如下:

同为比较常用的报表工具,FineReport对多层交叉汇总报表的解决方案和实现方法与BIRT有所不同,在finereport交叉汇总是利用层次坐标实现的,以一个简单示例为例,解释具体实现思路和步骤,供BIRT使用者借鉴: 1.问题描述 逐层累计与跨层累计都是纵方向上的累计,也可以横向进行累计,如下图各个销售员每个月订单金额的累计:

2.示例 2.1新建报表,设计表样 新建工作薄,添加数据集,SQL语句为select雇员ID,strftime('%m',订购日期)as月份,应付金额from订单where strftime('%Y',订购日期)= '2011',查询出2011年每个雇员,每月订单金额。 如下制作一张交叉表: 数据列设置如下: 单元格数据 集 数据列属性

birt报表修改表格宽度的学习总结

修改birt报表的表格宽度的学习总结 一、原因 Birt做的报表表格宽度是根据表格里面的内容自动显示宽度,每列的宽度是与表头(header的label)或者表body(detail的data)里面内容最多的一格的宽度一致,有时候表头里面文字很长,但是该表头的那一列表body里面的内容却很少,就照成了除表头以外,body下面每一格特别的空,这样的列若是比较多的话表格就很不好看,而且浪费空间,以我碰到的问题为例,如图: 这个报表分为两部分,前一部分是直接用报表设计器设计的,表头是居顶的,后一部分是用代码加上去的,表头居中,而且他的内容全是数字,相对来说比较少,感觉空的地方很多,看上去不美观。 二、试着调试 由于网上资料比较少,我自己调试时都是自己摸索的,可能有些地方不是很简洁,但是效果还是出来了。 (1)、首先调整直接用报表设计器设计的报表,可以有两种方法调试, 1.第一种是手工代码调试:xml resource 先调整表头,所以在

下面的你想设计宽高的那一列下面,添加属性,根据里面的内容设计宽和高,这里我设计的是宽1.5cm,高0.7cm,注意是在label下面添加设置语句,: 0.7cm 1.5cm

如图:

点击table,然后选中你想要调整的那一行或者那一列,打开属性编辑器(birt 高级版本可以右击哪一行或者列直接打开,低版本的需要点击eclipse左下角的 下面的属性版本 ) 想要修改那一行或者列的宽或者高时,先以调整列宽为例,选中一列,在属 里面, 调整行高度跟列宽度类似,这里就不写出来了。 (2)调整由代码插入进来的行宽列高 这个就比较简单,在插入列以及header下直接写代码 MyLable.setWidth(“1.5”); myLabel.setHeight("0.7cm"); myDataItem2.setHeight("0.3cm"); myDataItem2.setWidth("1.5cm");

BIRT详细开发手册

BIRT详细开发手册

目录 1BIRT开发环境 (3) 1.1新建Project (3) 1.2新建Report (4) 1.3调整工作窗口 (5) 2BIRT报表开发 (6) 2.1新建数据源(Data Sources) (6) 2.2新建数据集(Data Set) (7) 2.3BIRT报表条件 (10) 2.3.1一般条件 (10) 2.3.2日期条件 (11) 2.3.3条件脚本 (11) 2.4BIRT表格 (13) 2.4.1Insert table (13) 2.4.2设置报表表头 (14) 2.4.3表头样式 (14) 2.4.4表格网络线 (15) 2.5绑定数据集 (15) 2.6表格数据添加分组(分组可以不用设根据需求添加) (16) 2.7报表标题(Master Page) (19) 2.8固定布局与自由布局 (20) 2.9报表预览 (21) 2.10数据操作 (23) 2.10.1列求和 (23) 2.10.2数据格式 (26) 3图表制作 (26) 3.1饼状图 (26) 3.2折线图 (32) 3.3柱状图 (38) 3.4图表效果展示 (42)

此文档为本人结合网上资料与本人BIRT开发经验整理的BIRT详细的开发手册,适用于初学者快速掌握BIRT开发。 1BIRT开发环境 BIRT开发环境是带有BIRT插件的eclipse 1.1新建Project 菜单栏file→new→other选择report project→nex,然后给project取名,完成后点击finish即可完成新建project

新建完成后的project 1.2新建Report 在新建的项目上右键new→orher , Report→next, file name为报表名称是以”. rptdesign”为结尾的文件,点击finsh即可完成新建Report.

Eclipse BIRT 简单报表开发

Eclipse BIRT 简单报表开发 帮助文档: https://www.360docs.net/doc/336671499.html,/documentation/BIRT_231/wwhelp/wwhimpl/js/html/wwhelp.htm 1新建报表: 1.1运行向导建立工程,如下图: 1.2选择新建的工程,如下图:

1.3建立报表文件,如下图

这里选中Report templates:Blank Report

已经完成建立报表文件。 2连接数据库 2.1建立Data Source 这里我们会连接SQL Server 2005的示例数据库:AdventureWorks ●请确认已经安装这个示例数据库 ●请确认Sql server 2005已经打开TCP/IP连接,如下图: 打开建立Data Source向导,如下图:

这里要注意如果刚安装的Eclipse BIRT是没有(如下图): Com.microsoft.sqlserver.jdbc.SQLServerDriver (v1.2) 下载地址: https://www.360docs.net/doc/336671499.html,/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF36 90EF/sqljdbc_1.2.2323.101_enu.exe 安装方法: ●把文件解压 ●Manage Drivers ●Add-> 选中解压出来的文件:sqljdbc.jar ●添加成功 连接串:jdbc:sqlserver://localhost:1433;databasename=AdventureWorks

Birt使用经验谈3

Birt使用经验谈 Chart图 Michael 2006-04-11 Jiabiao011@https://www.360docs.net/doc/336671499.html, 前段时间都是写的都是关于一般报表的,在一些网上朋友的要求下,本文档就介绍一下关于chart图吧。这段时间也比较忙,也没时间去深入。在这里也只是简单的介绍一下chart的设计步骤。 1.环境:在第一篇文档中已经描述了,在此就不用多说了。 2.chart报表的简单例子 步骤如下: ●新建一个空白报表,名为:chart_sample.rptdesign ●新建一个(jdbc)数据源. ●新建一个数据集,sql脚本如下:(SELECT SUM(se.AMOUNT) AS AMOUNT ,DATE_FORMAT(se.OPER_DATE, '%Y-%m') as OPER_DATE,se.IN_OR_OUT as TYPE FROM mms_storage_entry se,mms_storage s WHERE s.ID = se.STORAGE_ID AND se.IN_OR_OUT='2'AND DATE_FORMAT(se.OPER_DATE, '%Y-%m')>=DATE_FORMAT('2005-01-01', '%Y-%m')GROUP BY DATE_FORMAT(se.OPER_DATE, '%Y-%m'))UNION(SELECT SUM(se.AMOUNT) AS AMOUNT ,DATE_FORMAT(se.OPER_DATE, '%Y-%m') as OPER_DATE,se.IN_OR_OUT as TYPE FROM mms_storage_entry se,mms_storage s WHERE s.ID = se.STORAGE_ID AND se.IN_OR_OUT='1'AND DATE_FORMAT(se.OPER_DATE, '%Y-%m')>=DATE_FORMAT('2005-01-01', '%Y-%m')GROUP BY DATE_FORMAT(se.OPER_DATE, '%Y-%m')) 这个脚本是我在一个项目中用的,改了一些数据,就载过来用了:)。 点击左树下的”计算列”,输入列名称\数据类型及表达式,表达式如: var type; if(row["TYPE"]=='1'){ type='入库'; } else { type='出库'; } 这样才能看到如下图中的出库和入库,当然也可以不用设置计算列.

birt报表使用简要说明

Birt报表使用指南 1Birt的安装方法 把birt整合到了Myeclipse6.5中,(eclipse的官方网站上提供有一个birt-report-designer-all-in-one-2_2_2.zip,你直接解压缩这个就可以了,就免去了birt与Myeclipse6.5的整合)。 如果要把birt安装到Myeclipse6.5中,要注意一些事情 1.1eclipse的版本 就是说你的eclipse版本要和适当的birt版本配合,当前birt的最新稳定版是birt2.3。 如果使用的是eclipse3.3版本,你应该用birt-report-framework-2_2_2.zip,如果使用的是eclipse3.4,你应该用birt-report-framework-2_3_0.zip版本不一致会出一些问题。 1.2在Myeclipse6.5中装birt。 MyEclipse6.5自带的是eclipse3.3,所以只能下载birt-report-framework-2_2_2.zip (下载地址:https://www.360docs.net/doc/336671499.html,/birt/downloads/index2.2.2.php) 而birt-report-framework-2_3_0.zip是针对eclipse3.4的。 把下载下来的birt-report-framework-2_2_2.zip包解压,解压后的features文件夹下的所有文件拷贝到MyEclipse6.5安装目录下的..\myeclipse\eclipse\features 下,解压后的plugins文件夹下的所有文件拷贝到..\myeclipse\eclipse\plugins下。 重新启动MyEclipse就好了。

BIRT报表参数详解

在使用birt报表的时候感觉页面的BIRT Report Viewer头标题没有用,想去掉在网上一查原来有详细的参数设置,看来birt的功能还是很强大啊。现在转帖如下: BIRT作为一款功能强大的开源报表工具,其版本的升级更新速度也非常快,从1.0到2.0,一直到最新的2.2.1版本,无论从功能上还是性能上都得到了极大的提高和扩充。BIRT也提供了一个标准的J2EE实现组件,可以发布到支持J2EE应用的web server服务器上,可以对生成的报表进行预览等操作。在大家使用BIRT Viewer的时候,可能会对它日益纷繁的参数设置如云里雾里,在网上论坛里也有很多人碰到这样哪样的问题,同时官方的文档也不细致不全。所以我就对这些参数进行了一个简单系统的总结,希望能对大家的BIRT开发有所帮助。这些参数以2.2.1版本为准,请大家特别注意。 1.Servlet模式说明 查看BIRT Viewer自带的web.xml文件,可以看到有以下几个pattern: frameset----采用Ajax框架,可以显示工具条,导航条和TOC面板,实现复杂的操作,如分页处理,导出数据,导出报表,打印等等。该模式下会自动生成report document文件(预览report design文件)到特定的目录(用户可以用参数指定,也可以定义在web.xml里)。采用Ajax,速度较慢。 run----也采用Ajax框架,但不实现frameset的复杂功能,不会生成临时的report document 文件(预览report design文件),也不支持分页,这个主要是应用在BIRT Designer里的preview tab里,可以支持cancel操作,其它不怎么常用。采用Ajax,速度较慢。 preview---没有用到Ajax框架,直接调用底层Engine API对报表进行render,把生成的报表内容直接输出到浏览器。这种模式和run模式调用的是相同的Engine API,唯一区别在于run采用Ajax获取报表内容,而preview直接输出到浏览器。如果要支持分页,用户需要在URL上定义__page和__pagerange参数,这两个参数也会在后面详细说明。需要特别说明的是,在这几种预览模式中,preview的速度是最快的。 document---该模式主要是为了从report design文件生成report document文件。用户可以在URL上提定document文件生成存放的路径(存放在server端),如果未指定,会直接生成rptdocument发送到客户端浏览器,用户可以下载到客户端。 output---该模式类似于frameset,会自动生成report document文件(预览report design 文件),区别在于output不采用Ajax,而是将生成的报表内容直接输出到浏览器。 parameter---该模式主要用于生成一个参数对话框,一般用户不常用,用户可以直接通过提供的JSP Tag--parameterPage去实现参数对话框,不需要直接调用。 download---用于导出报表数据为CSV格式,当你使用frameset工具条里的导出数据功能时,会用到这个模式。 2.web.xml里的参数设置 web.xml文件里有许多参数,用户应该根据自已的需求出发对这些参数有一个深入的了解。

Eclipsebirt使用说明中文

Birt使用说明

目录 一、前言 (1) 二、相关软件 (1) 1.1、BIRT (2) 1.2、GEF和EMF (3) 三、Birt的安装和配置 (4) 四、使用说明 (5) 4.1、创建项目 (5) 4.2、创建第一个报表 (7) 4.2.1、创建一个空白报表 (7) 4.2.2、设置数据集参数 (9) 4.2.3、设计报表 (14) 4.3、报表中的参数 (26) 4.3.1、静态标量参数 (27) 4.3.2、动态标量参数 (29) 五、应用系统的结合 (31)

一、前言 公司的一个Java语言的B/S架构项目中需要实现大量的文字报表和图像报表的功能,以前使用CSS、JS和JfreeChart等技术,只能实现简单的报表,很难达到现在需求,于是我研究了几个开源免费的报表工具,通过网上的评价,发现了Birt有以下几点优点: 1、开发方便,Birt是Eclipse的一个插件可以很好的集成在Eclipse中,图形编辑框架下可以在几分钟之内做出一个报表。 2、可以很方便地在一个报表中混合展现概要数据和详细数据。 3、操作界面友好大方。 4、提供了强大灵活的样式定义,对于属性CSS的设计人员来说,应该可以设计出相当出色的报表样式。 5、集成在Eclipse中,不用再开启别报表开发工具窗口,对于习惯于Eclipse开发的程序员来说这点非常重要。 6、Birt的本地化做的很好,安装以后操作界面就是中文的(这点我在使用过程中没有充分体现,我使用了Birt的中文语言包)。 7、开源的报表产品,有源代码,可以进行深层的定制开发。 8、生成的报表完全是XML格式,扩展性好。 9、容易和应用系统结合。 10、最重要一点是开源免费的(我穷啊)。 根据这几个优点,我决定研究Birt,通过几天查找资料和自己的摸索,心中总算有些小的体会。由于习惯与Eclipse3.2版本,所以我使用了2.1.3版本的Birt,现在最新版本已经是2.3以上版本了,就是这个原因网上很多资料都不是很适合这个版本,所以我走了很多弯路,希望看到此文档的人能比我少走弯路,这也是我写这个文档的原因之一。 二、相关软件 相关的软件分别为: Java 1.4.2/1.5 JDK/JRE Eclipse-SDK-3.2.0

birt报表入门教程之图表报表

birt报表入门教程之图表报表 图表报表 图形报表是非常常见的一种报表样式,用于直观地表现数据规律。常用的类型包括:柱状图、饼图、折线图、甘特图、雷达图等。Eclipse的Birt插件为我们提供了多种图表的表现形式。 这里我们利用3.6的交叉报表,为它做一张简单直观的柱形图。 为报表插入图表 本例我们直接利用3.6交叉报表的数据集,直接在3.6所创建的报表上插入图表。在选用板“Palette”视图中拖拽一个“Chart”至布局编辑器中交叉报表“Cross Tab”的下方。 设定图表属性 1.选择图表类型 进行上一步拖拽之后,会弹出如下窗口:在此窗口我们首先要进行图表基本属性的设定。系统提供给我们有13种可供选择的图表,这里我们选择第一种“Bar”即柱形图。 在窗口中部右方的“Select Subtype”部分有三种类型可供我们选择,这里我们选择第一个,其他的数据设定:Dimension:2D With Depth(设定图形维度) Output Format:SVG(设定输出图表的格式)Multiple Y Axis:none

选择“Next”进入下一步:

2.设定好图表基本类型之后,进行图表的数据设定。窗口哦界面如上图。 在窗口中部的Select Data Set中,选择Use Data Set,然后从它的下拉菜单中选择我们所创建的唯一数据集contract,此时,Data Preview窗口出现了数据集中的各个数据项:

3.将数据项中的AMOUNT拖拽至左上方“Value(Y)Series”中的“∑” 框内。表示在图表的Y轴的变量设定为amount变量。(也可以通过点击“∑”框左边的函数符号来进行设定。点击进入后,在下方三个小窗口依次选择“Available Column Bindings”→“Chart-New Chart”→“AMOUNT”,点击“AMOUNT”时进行双击。或者可以直接在编辑窗口输入“row["AMOUNT"]”即可。点击“Ok”完成)

Eclipse中装配Birt插件及基础教程

Eclipse中装配Birt插件及基础教程 https://www.360docs.net/doc/336671499.html, 网友分享于:2015-08-22 浏览:0次 网站:https://www.360docs.net/doc/336671499.html,/eclipse/1997097.html Eclipse中安装Birt插件及基础教程 这些天由于公司项目的需要,需要生产报表,我们公司使用的是cs客户端模式,主要运用的是J Frame来做的客户端,现在需要做报表,所以需要在客户端里面嵌套一个浏览器,然后使用Birt 来制作报表,所以才有如下文章,本来以为这个安装Birt插件是一件很easy的事情,然而没想到的是,百度了很久,都没有link安装的具体方法,要么就是插件包找不到(官网没有找到,可能是我英语不好,没看到),要么就是安装了没有效果,当然了,eclipse官网已经有了集成过B irt插件的IDE,但是我这人偏偏较真,就不想用他们已经集成好的,我就要自己按照link的模式来安装插件(对,没错,我就是那传说中的一根筋。。。。。),下面具体介绍下集成的步骤:第一步:去官网下载集成好的All-in-One那个包,地址如下Birt下载地址,下载后的包是:eclips e-reporting-mars-R-win32-x86_64.zip,解压之后里面是eclipse的文件目录,我们只用将其中的plugins和features提取出来,制作Birt的link插件即可,至于link安装方法其实很简单,这样做的好处是,方便我们调用插件,就算以后我们重装eclipse,只需要重新写个.link的配置文件就可以了,就不需要再重新下载插件,重新安装。(以下安装方法以本人电脑为例) 首先在eclipse软件的所在文件夹所在磁盘下新建BIRT文件夹,在BIRT文件夹下新建一个名为eclipse的文件夹,用来存放Birt的插件,将eclipse-reporting-mars-R-win32-x86_64.zip中解压的plugins和features两个文件夹复制到/BIRT/eclipse文件夹中; 注意:下图中两个文件夹的相对位置要正确

birt配置参数详解

BIRT参数设置详解 2010-08-25 16:30 在使用birt报表的时候感觉页面的 BIRT Report Viewer头标题没有用,想去掉在网上一查原来有详细的参数设置,看来birt的功能还是很强大啊。现在转帖如下: BIRT作为一款功能强大的开源报表工具,其版本的升级更新速度也非常快,从1.0到2.0,一直到最新的2.2.1版本,无论从功能上还是性能上都得到了极大的提高和扩充。BIRT也提供了一个标准的J2EE实现组件,可以发布到支持J2EE 应用的web server服务器上,可以对生成的报表进行预览等操作。在大家使用BIRT Viewer的时候,可能会对它日益纷繁的参数设置如云里雾里,在网上论坛里也有很多人碰到这样哪样的问题,同时官方的文档也不细致不全。所以我就对这些参数进行了一个简单系统的总结,希望能对大家的BIRT开发有所帮助。这些参数以2.2.1版本为准,请大家特别注意。 1. Servlet模式说明 查看BIRT Viewer自带的web.xml文件,可以看到有以下几个pattern: frameset ---- 采用Ajax框架,可以显示工具条,导航条和TOC面板,实现复杂的操作,如分页处理,导出数据,导出报表,打印等等。该模式下会自动生成report document文件(预览report design文件)到特定的目录(用户可以用参数指定,也可以定义在web.xml里)。采用Ajax,速度较慢。 run ---- 也采用Ajax框架,但不实现frameset的复杂功能,不会生成临时的report document文件(预览report design文件),也不支持分页,这个主要是应用在BIRT Designer里的preview tab里,可以支持cancel操作,其它不怎么常用。采用Ajax,速度较慢。 preview --- 没有用到Ajax框架,直接调用底层Engine API对报表进行render,把生成的报表内容直接输出到浏览器。这种模式和run模式调用的是相同的Engine API,唯一区别在于run采用Ajax获取报表内容,而preview直接输出到浏览器。如果要支持分页,用户需要在URL上定义__page和 __pagerange参数,这两个参数也会在后面详细说明。需要特别说明的是,在这几种预览模式中,preview的速度是最快的。 document --- 该模式主要是为了从report design文件生成report document 文件。用户可以在URL上提定document文件生成存放的路径(存放在server端),如果未指定,会直接生成 rptdocument发送到客户端浏览器,用户可以下载到客户端。 output --- 该模式类似于frameset,会自动生成report document文件(预览report design文件),区别在于output不采用Ajax,而是将生成的报表内容直接输出到浏览器。

birt教程之交叉报表

birt教程之交叉报表 交叉报表 构建数据源 方法同上。 构建数据集 1.在定义好数据集的基本信息之后,进入SQL SELECT语句查询界面,输入如下SQL语句,进行数据集的创建: select EBANK.CUSTOMER.CUSTOMER_NAME, EBANK.PRODUCT.PRODUCT_NAME,EBANK.CONTRACTSUM.* from EBANK.CUSTOMER,EBANK.PRODUCT,EBANK.CONTRACTSUM where EBANK.CONTRACTSUM.CUSTOMER= EBANK.CUSTOMER.CUSTOMER_ID and EBANK.CONTRACTSUM.PRODUCT= EBANK.PRODUCT.PRODUCT_ID 2.如果创建正确,在结果预览窗口“Preview Relusts”中将看到一下信息:

点击“Ok”完成数据集的创建。 在报表中加入交叉报表 1.同上例,先在布局编辑器中建立一个1列2行的Grid。 2.从选用板“Palette”视图中拖拽一个“Cross Tab”至第二行的网格中。 在布局编辑器中可以看到我们创建的Cross Tab的样式。 数据准备 1.选择数据资源管理器“Data Explorer”。右键单击“Data Cubes”,选择“New Data Cube”,进入如下交叉表数据编辑界面: 2.默认选择的是“Dayaset”,Name:为Cube命名,Customer Cube Primery dataset:选择相关的数据集。打开下拉菜单选择之前建立的数据

集contract 3.在左边的主菜单中选择第二项“Groups and Summeries”,出现如下窗口(),在将Available Fields中的CUSTOMER_NAME拖拽到右边Groups (Dimensions)中标有“(Drop a field here to create a group)”的地方,如下图。

birt动态分组报表制作

1 BIRT报表开发环境准备 (2) 1.1 BIRT报表开发准备 (2) 1.2 建立Web Project (2) 1.3 配置交叉报表数据源 (5) 1.3.1 建立公共资源的文件夹 (5) 1.3.2 建立公共资源Library (6) 2 动态分组交叉报表 (10) 2.1 建立报表文件夹 (10) 2.2 建立报表文件 (11) 2.3 复用报表数据源 (12) 2.4 配置交叉报表结果集 (13) 2.5 配置交叉报表分组字段 (16) 2.5.1 新建Data Cuber (16) 2.5.2 新建Groups (17) 2.6 配置交叉报表求和字段 (18) 2.7 交叉报表表样制作 (19) 2.7.1 新建Cross Tab (19) 2.7.2 完成报表表样制作 (20) 2.8 报表分页实现 (20) 2.9 预览交叉报表 (20) 3 部署交叉报表 (21) 4 运行交叉报表 (21)

1BIRT报表开发环境准备 1.1 BIRT报表开发准备 (1)、Ecplise:这里我使用的是Eclipse Platform Version: 3.6.2。 (2)、BIRT插件:可以通过Ecplise中的Install New Software 添加Birt插件。插件地址:(3)、Tomcat:这里我使用的是apache-tomcat-6.0.16 1.2 建立Web Project (1)、新建Web Project 为了体现BIRT与实际应用项目相结合的特点,首先建立一个Web Project,工程命名为myReport。 然后单击“Next”,出现下图:

birt报表初级教程之嵌套报表

birt报表初级教程之嵌套报表 嵌套报表 嵌套报表其实是一种设计技巧的应用,类似编码过程中的模块化设计。当报表的复杂程度让设计者开始觉得逻辑混乱的时候,可以使用嵌套报表设计方法,将报表拆分为多个不同的设计页面,然后使用一个总的页面将这些设计页面整合起来展现。 此外,嵌套报表有时候也会用于主从结构的实现,通过逐层嵌套,可以实现无限层次的主从结构数据展现。 本例,我们将每个客户的信息包括客户表中基本的信息以及他们的订单信息,在同一张表中按客户一一列出来,所使用的就是嵌套报表。 报表名我们定为:nestingTab.rptdesign 构建数据源 本例我们使用BIRT自带的数据源,在新建数据源选择数据源类型为默认的第一项:Classic Model Inc,Sample Database 数据库驱动类别;org.eclipse.birt.report.data.oda.sampledb.Driver(Classic Models Inc.SampleDB Driver);URL:jdbc:classicmodels:sampledb 构建数据集 本例我们需要建立2个数据集: 1.建立数据集payments,所用SQL语句:(这里我们加入条件选择订单大于150000) select CUSTOMERNUMBER,sum(AMOUNT)amount from CLASSICMODELS.PAYMENTS group by CUSTOMERNUMBER having sum(AMOUNT)>150000 order by amount desc 2.建立数据集customers:所用SQL语句: select*

BIRT交叉表用法

Birt2.2M6 的CorssTab(交叉表)的用法 1什么是交叉表 首先你要知道什么是交叉表,又是在什么情况下需要用交叉表。 “交叉表”对象是一个网格,用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成: ◆行 ◆列 ◆摘要字段 我找了一副图表,用以说明交叉表 2创建交叉表步骤 Birt 2.2M6首次出现了OLAP Cube功能,创建交叉表分为三步 ◆创建Cube ◆创建CrossTab ◆把Cube的维度和度量拖到相应的地方。 2.1选择Cube的数据集 BIRT的数据立方体(Cube)是基于数据集的。建一个Cube首先就是要选择Cube的数据集,所以先创建自己的数据源和数据集。本例中我们建了一个名为crossTabDataSet 的数据集,数据集的预览如下图所示:

2.2创建Cube 在Data Exployer页的Cubes下面增加一个Cube,本例中,我们将Cube命名为TestCube,数据集选择我们刚才新建的crossTabDataSet。 2.3设置Cube的Group Group的设置页面如下:

把我们需要在交叉表的维度拖到Groups的Group下。(可以根据多个维度建立多个Group) 2.4设置CrossTab 然后,在设计面板中,双击Crosstab,在弹出的窗口中,选择我们刚才建好的Cube,点击‘Ok’。

设计页面上上出现了一个CrossTab的表格。 然后,打开DataExplor页,将Cube的维度和度量相应地拖放到规定的地方。如下图所示。 预览效果如下图所示: 至此,一个交叉表就完成了 2.5给交叉表设置附加列 如果想要出现本文开头的交叉表的效果(即:行小计和列小计计算结果),进行如下设

birt教程之分组报表

birt教程之分组报表 分组报表 在网格报表的基础上,我们可能还需要对数据进行进一步的处理。比如,将同类数据显示在一个组中,并对这个组进行统计运算。如下图所示,对数据按省份进行分组,并将同一省份数据放在一个组内进行汇总统计。 下面我们将上例的网格报表进行一下小的改进,建立一个按用户类型进行分组的报表。 创建数据源 方法同上例。 构建数据集 本例所用的数据集与上例完全相同,输入与上例3.4.2相同的sql语句建立数据集即可。 对报表进行布局 1.做好上面的工作之后,先在布局编辑器中建立一个1列2行的Grid,2.同上例一样,从选用板“Palette”中拖拽一个5列1行的Table至第二行的网格中,

3.从Data Explorer视图中的“Data Sets”项中将TYPENAME拖拽至此Table 的第一个详细信息行中,然后依次将,CUSTOMER_ID,CUSTOMER_NAME,FAX,TEL拖拽入详细信息行内。这里不再赘述。 设定分组数据 1.选中Table,在右下方的Table的属性编辑器“Property Editor-Table”中,选择Group,进入如下分组设定界面: 2.点击“Add”按钮进行添加分组:

从“Group on”的下拉框选择TYPENAME,其他默认,(可根据需要对“Name”项进行命名),然后选择“OK”。完成分组设定。 3.这时Table中多出一行Group行,如下图:

将详细信息栏中的TYPENAME(即Table中第三行第一列数据项,如上图标记下方的数据项)删除。 这样,一个按照用户类型建立的分组报表就建立起来了。 格式化报表 进行报表格式化处理后,预览如下效果: 同为比较常用的报表工具,FineReport对分组报表的解决方案和实现方法与BIRT有所不同,具体实现思路和步骤如下,供BIRT使用者借鉴:

报表平台功能说明

1.报表平台 1.1平台功能 报表平台功能如下图所示: 报表发布:设计好的报表可以发布到报表服务器。 报表权限管理/报表查询:对已经发布的报表可进行权限配置,不同权限的用户可以查询不同的报表,相同报表用户机构不同查询的数据也不一样。 报表导出/下载/打印:查询出的报表可以以不同的格式导出(如PDF、HTML、Word、Excel、TXT等),报表打印可以使用相应格式的阅读器来操作打印机打印。 日终报表导出任务(EOD):提供日终的一些任务(如每月导出月报、每季导出季报等),日终的任务提供WebService接口由CPS平台进行调度。 1.2技术架构 报表平台主要由三个部分组成: 报表设计器:基于开源商务智能项目Birt的报表设计器,可在eclipse开发工具中进行可视化设计报表的字段与样式,及查询规则。 报表服务器:J2EE+Web2.0技术的报表服务器应用,可将已经设计好的报表发布到报表服务器、对报表进行组织机构及权限的管理(不同的机构只需要关心本 机构的报表)、可提供在线的方式查询及预览报表,手动实时导出及下载报表, 提供日终批量报表导出任务,并可将该任务发布成WebService由CPS平台高度。 报表平台数据库:对报表服务器本身提供存储的支持(如用户权限、组织机构、报表定义等)。 注意:报表平台数据库不提供报表的实际业务数据,生成报表的数据直接连接 核心系统的数据库中,从已经转换好数据的表中抽取。

报表数据库 报表平台 报表设计器 报表查询 发布 导出报表 文件 报表服务器 报表权限管理 核心数据库 报表数据 报表打印

1.3报表开发流程 根据业务需求设计报表 (报表设计器) 发布已经设计的报表 (报表服务器) 配置组织机构和权限 (报表服务器) 配置报表与组织机构的关联 (报表服务器) 完成 1.4用户使用流程

birt报表教程之交互报表

birt报表教程之交互报表 交互报表 交互式报表就是存在与用户交互的通道,在查询交互式报表的结果时,需要用户输入一定的参数,输出结果就会显示出参数所对应的结果。在本例中,我们将客户信息做成交互式报表,在用户输入客户的编号之后,我们就会看到对应客户的信息。 创建报表、数据源 方法同上,报表名我们定位:PeportOfAlternant.rptdesign 创建数据集 本例我们需要建立3个数据集: 1.建立数据集CustomerId,所用SQL语句: select EBANK.CUSTOMER.CUSTOMER_ID, EBANK.CUSTOMER.CUSTOMER_NAME from EBANK.CUSTOMER where EXISTS (SELECT EBANK.CONTRACTSUM.CUSTOMER FROM EBANK.CONTRACTSUM WHERE EBANK.CUSTOMER.CUSTOMER_ID= EBANK.CONTRACTSUM.CUSTOMER) 2.建立数据集CustomerInfo:所用SQL语句: select EBANK.CUSTOMER.CUSTOMER_NAME, EBANK.CUSTOMER.TEL, EBANK.CUSTOMER.FAX,

EBANK.CUSTOMERTYPE.TYPENAME from EBANK.CUSTOMER,EBANK.CUSTOMERTYPE where EBANK.CUSTOMER.CUSTOMERTYPE=EBANK.CUSTOMERTYPE.TYPEI D and EBANK.CUSTOMER.CUSTOMER_ID=? 输入SQL语句后,还要在数据集编辑窗口选择Parameters选项。 双击默认参数Pram1或者选择“Edit”,弹出如下窗口: 输入: Name:CustID;

birt技术入门准备文档

一、环境准备(具体可参考仓储(Storage)项目下的示例) a)eclipse-reporting-helios-SR1-win32(Eclipse可用开发版本) b)MyEclipse8.0同时也集成了birt开发环境,使用前需先添加birt插件 二、运行环境 a)Ofbiz-1004,首先把framework/example/web-inf 目录下的birt.tld(其为birt各类标 签文件)server-config.wsdd考到所建项目对应文件夹下,同时修改web.xml参考 framework/example/web-inf把此目录下的所有birt相关考到对应项目web.xml中。 b)为ofbiz项目导入 ofbiz10.04\framework\birt\lib\platform\plugins\org.mozilla.rhino_1.7.1.v20090521\lib 下的js.jar 三、birt报表制作(首先新建一个birt报表) a)jdbc数据源 i.右键新建数据源 选中jdbc数据源 然后根据你的数据库条件建立数据库连接就可以了,你可以根据数据源创建数据集,利用sql语句进行数据集设置(网上这种参考示例比较多,可自行参考) b)Script数据源 如上,选中script数据源就可以了

新建数据集(inStorage),你可以再创建数据集时添加其参数,也可以先直接创建数据集然后在添加参数。 c)设计报表 新建一个table,直接拖来就行,设定其行列并关联其相关数据集,或可直接把数据集拖入面板里,其会自动生成与数据集对应的table

相关文档
最新文档