Birt报表设计步骤

Birt报表设计步骤
Birt报表设计步骤

Birt报表设计步骤:

1、下载birt all in one 2.2.1.1,包含eclipse,解开下载文件

启动eclipse,必须使用JDK1.5启动eclipse,否则新建工程对话框中没有birt的相关选项

2、新建report project和report

打开data explorer视图,新建一个data sources,定义数据库连接driver/url/用户名/密码,在"Manage Drivers..."中把jdbc的jar加进来

3、新建Report Parameter,设置参数名称、类型,参数值将来通过url传递或使用程序方式赋值

4、新建data sets,设置Query,即preparedStatement语句,设置data set的Pameters,即reparedStatement中的“?”,使之和report parameter关联;如果data set的Parameter的值不是来自于Report Parameter,例如来自另外一个data set,可不设置关联,而在报表内容中设置和其它data set字段的关联(见步骤8)

5、如果data set对应的sql是动态生成的,可以设置“property Binding”,在Query Text中输入sql和表达式,其中可以使用Report Parameter和javascript语句,运行时将执行Property Binding中的Query Text,而不执行Query中的preparedStatement,但是Query中的preparedStatement在设计报表时还是有用的,因为可以看到运行结果的字段列表,只要preparedStatement和Query Text返回相同的字段即可

6、将定义好的data set拖动到设计界面上,会自动在报表放置一个Table

7、如要对table的某列合计,从Palette视图中拖一个“Aggregation”到设计界面

8、如要Master-Sleve报表,则在Table中再放置一个Table。例如一个data set是客户基本信息,每个客户一条记录,另一个data set是客户交易明细,每个客户可能有多条记录,则先将客户基本信息的data set拖置设计界面,会自动放置一个Table,然后将客户交易明细的data set拖置前一个Table中适当位置,即生成一个Table中的Table。选中交易明细的Table,打开Property Editor视图,在binding栏中,选择交易明细的data set,按“Dataset Parameter Binding...”,选择“CUST_ID"字段,将其和客户基本信息data set的CUST_ID关联起来(row["CUST_ID"])

9、按需要调整报表的样式,从eclipse工具栏中选择“view report in web viewer”,如果设置了Report Parameter,会出现一个对话框,要求输入Report Parameter的值,按确定后生成报

表内容

10、在web viewer中,鼠标右建点按生成的报表,选“属性”,获取url,开一个空白IE,复制url到地址栏,在url最后用“&参数名=参数值”方式,把Report Parameter加进url,按回车,直接出现报表结果,不再出现报表参数输入对话框。还可以pdf/doc/html等格式预览生成的报表

Birt报表部署步骤:

部署设计好的报表很简单,只需要下载Birt runtime,将Birt runtime部署为一个web应用,报表设计文件复制到该应用的根目录即可。为方便起见,以下将Birt runtime部属为一个独立的应用,当然也可以将Birt runtime整合到你的web应用中

1、下载birt runtime 2.2.1.1,解开下载文件

2、将birt rumtime解开后的目录下的部署为一个web应用,使用JDK1.4.2或以上版本

3、将报表设计步骤中生成的设计文件(*.retdesing文件)复制到web应用所在目录

4、确保以下文件在WEB-INF/lib目录下存在,如果没有,从all in one中搜索复制过来

com.ibm.icu_3.6.1.v20070906.jar

coreapi.jar

engineapi.jar

scriptapi.jar

5、将jdbc的jar或zip文件复制到WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.1.r22x_v20070919\drivers目录下

6、删除WEB-INF\platform\org.eclipse.birt.report.data.oda.sampledb_2.2.1.r22x_v20070919目录(示例数据库,没什么用处),否则生成报表时有不必要的警告信息出现

7、启动web server,修改设计步骤第10步获得的url,使IP/端口/web应用名称符合你的Birt runtime部署,在IE中可以查看报表内容

使用Birt提供API以程序方式生成报表结果,例如生成PDF格式的报表结果,代码片段如下:

import java.util.HashMap;

import java.util.logging.Level;

import java.io.OutputStream;

import java.io.FileOutputStream;

import java.io.ByteArrayOutputStream;

import org.eclipse.birt.core.framework.Platform;

import org.eclipse.birt.report.engine.api.EngineConfig;

import org.eclipse.birt.report.engine.api.EngineConstants;

import org.eclipse.birt.report.engine.api.EngineException;

import org.eclipse.birt.report.engine.api.IReportEngine;

import org.eclipse.birt.report.engine.api.IReportEngineFactory;

import org.eclipse.birt.report.engine.api.IReportRunnable;

import org.eclipse.birt.report.engine.api.IRunAndRenderTask;

import org.eclipse.birt.report.engine.api.PDFRenderOption;

public class PDFReportServiceAccess

...{

/** *//** 初始化的状态*/

protected static boolean initStatus = false;

private static IReportEngine engine = null;

private static EngineConfig config = null;

private static IReportRunnable design = null;

private static PDFRenderOption ro = null;

/** *//** 初始化资源*/

public void initilize()

...{

if ( initStatus == true )

return;

try

...{

config = new EngineConfig();

config.setEngineHome( "C:/projects/birt/WEB-INF/platform" ); //birt runtime web应用中的报表引擎目录

config.setLogConfig( "C:/projects/birt/logs", Level.FINE );

Platform.startup( config );

IReportEngineFactory factory = ( IReportEngineFactory ) Platform

.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_F ACTORY );

engine = factory.createReportEngine( config );

engine.changeLogLevel( Level.WARNING );

ro = new PDFRenderOption();

ro.setBaseURL( "http://localhost:8080/birt" ); //birt runtime web应用

config.getEmitterConfigs().put( "pdf", ro ); //生成pdf格式

initStatus = true;

}

catch ( Exception ex )

...{

ex.printStackTrace();

initStatus = false;

}

}

/** *//** 释放资源*/

public void release()

...{

engine.shutdown();

Platform.shutdown();

initStatus = false;

}

protected OutputStream run( String filename, HashMap parameters ) throws EngineException

...{

design = engine.openReportDesign( filename );

// Create task to run and render the report,

IRunAndRenderTask task = engine.createRunAndRenderTask( design );

HashMap contextMap = new HashMap();

contextMap.put( EngineConstants.APPCONTEXT_PDF_RENDER_CONTEXT, ro );

task.setAppContext( contextMap );

task.setParameterV alues( parameters );

task.validateParameters();

OutputStream os = new ByteArrayOutputStream();

ro.setOutputStream( os );

ro.setOutputFormat( "pdf" );

task.setRenderOption( ro );

task.run();

task.close();

return os;

}

/** *//**

* 生成PDF格式报表,以OutputStream格式返回

*

* @param filename 报表设计文件名全路径

* @param parameters

* 报表参数

* @return ByteArrayOutputStream

* @throws EngineException

*/

public OutputStream call( String filename, HashMap parameters ) throws EngineException ...{

initilize();

OutputStream os = run( filename, parameters );

release();

return os;

}

/** *//**

* @param args

*/

public static void main( String[] args )

...{

HashMap parameters = new HashMap();

//三个Report Parameters,名称必须在报表设计文件中预先定义好parameters.put( "begindate", "2004/01/01" );

parameters.put( "enddate", "2007/12/31" );

parameters.put( "sql", " where cust_id = 1234567" );

ByteArrayOutputStream bos = null;

PDFReportServiceAccess ebr = new PDFReportServiceAccess();

String filename = "C:/projects/birt/batch_report.rptdesign";

try

...{

bos = ( ByteArrayOutputStream ) ebr.call( filename, parameters );

OutputStream fis = new FileOutputStream( "c:/test.pdf" );

bos.writeTo( fis );

}

catch ( Exception e )

...{

e.printStackTrace();

}

}

}

本文来自CSDN博客,转载请标明出处:https://www.360docs.net/doc/ed13198490.html,/xujiaqiang/archive/2008/01/19/2052789.aspx

【精编推荐】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/ed13198490.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/ed13198490.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报表的表格宽度的学习总结 一、原因 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教程之多层交叉汇总报表 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年每个雇员,每月订单金额。 如下制作一张交叉表: 数据列设置如下: 单元格数据 集 数据列属性

Eclipse BIRT 简单报表开发

Eclipse BIRT 简单报表开发 帮助文档: https://www.360docs.net/doc/ed13198490.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/ed13198490.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详细开发手册

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.

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/ed13198490.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就好了。

简单报表开发介绍

适用范围: 以收证查询为例:要实现这样的效果

1语义模型设计 1.1添加分类。序号与菜单注册的编码相同。 1.2添加语义模型。保存时,弹出提示框“是否启动设计向导”,点“是”。进入设计器 1.3选择【元数据】或者【元定义】,都可以。区别在于【元定义】比【元数据】多了“语义模型”的选择。 我们选【元定义】。

说明: a有些基础档案,我们需要显示它们的名称,例如财务组织,币种。这里有两种实现。b这里先说第一种: 可以继续选择【元定义】,找到对应的基础档案的元数据,有多个就都选择上。

1.4. 做好之后保存,点下一步。进入【连接条件】,通过主键关联将刚才选择的几张表关联起来。保存。 1.5点下一步之后进入【选择字段】,选择你要用来做展示的字段。 说明 a财务组织PK,集团PK,币种PK必须选择,用来处理精度 b这里也可以实现基本档案,或者其他需要显示名称的字段。如图中红色字段标识。

1.6.保存进入下一步。进入【描述器】,这里要做的是添加一些约束条件。 1.7点击下一步,进入【选项】,这里不用做什么修改,直接保存,点击完成。这样语义模型就设计完成了。 2自由报表预置 自由报表是用来展示数据的。这里会有:小计合计、数据格式、查询注册、联查、穿透等内容。

2.1跟语义模型一样,先建立分类,然后新增一个报表。保存,点【格式设计】2.2如图,右上角,关联刚才建立的语义模型。 2.3设置可扩展区域。右键-设置可扩展区域,如下图。 2.4设置表格字段的格式。 2.5设置几个隐藏字段,这是后期用来处理精度的 2.6插入小计合计 如图点1.红色区域2是分组字段。红色区域4是合计字段,小计与合计,红色区域5是设置是否合计

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文件里有许多参数,用户应该根据自已的需求出发对这些参数有一个深入的了解。

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”完成)

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报表开发手册

Birt使用说明

目录 一、前言 (1) 二、相关软件 (2) 1.1、BIRT (2) 1.2、EMF和GEF (4) 三、Birt的安装和配置 (5) 四、使用说明 (7) 4.1、创建项目 (7) 4.2、创建第一个报表 (9) 4.2.1、创建一个空白报表 (9) 4.2.2、设置数据集参数 (11) 4.2.3、设计报表 (19) 4.3、报表中的参数 (33) 4.3.1、静态标量参数 (34) 4.3.2、动态标量参数 (37) 4.3.3、动态组合参数 (39) 五、应用系统的结合 (40) 六、BIRT的学习资料和缺点 (59) 6.1、学习资料 (59) 6.2、缺点 (59)

一、前言 公司的一个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版本,所以我

birt工具资料

商业智能报表工具BIRT 宿晓丹 北京邮电大学软件学院,北京(100876) E-mail:xiaodan6677@https://www.360docs.net/doc/ed13198490.html, 摘要:报表在信息系统中具有基础性的地位,报表技术日渐成熟,涌现出了一批优秀的报表工具软件。商业智能报表工具BIRT是基于Eclipse插件技术的一个开源报表工具,可以和J2EE以及J2SE的应用进行无缝的集成,使得我们进行B/S报表设计有了一个全新的选择。本文详细介绍了BIRT概念和报表组成,阐述了其体系结构,报表流程及基于它的二次开发,并就其优势与不足给出了综合评定。 关键词:报表;商业智能;BIRT;报表引擎 中图分类号:TP311 1 引言 报表作为一种信息组织和分析的手段,在各个行业中都有很广泛的应用,其内容和形式也多种多样。在现代化企业信息系统特别是管理信息系统(Management Information Ssystem, MIS)中,报表系统是其重要组成部分之一。报表系统(Reporting System)是应用系统中管理数据、格式化数据并在组织内部和外部分发数据过程的功能模块。它是商业智能(Business Intelligence,BI)策略的基础,能通过Web或者企业级应用程序的方式,可靠、安全地向用户提供他们最需要的信息,并对统计后的结果进行数据的存储、处理和分析,供管理者分析决策之用。另外,Internet的飞速发展使得企业级应用软件逐渐由C/S结构转向B/S结构,越来越多的报表将在Web环境下开发和应用[1]。 国内外的报表工具有几十种,各种报表工具功能,形式都有或多或少的差异,而如何从形形色色的报表工具选取合适的工具是高效率开发和运行报表的关键,一般可以从实现技术,绘制方案,前端展现方案,后台集成方案以及填报能力等方面进行考虑[2,3]。 在报表实现技术方面,报表可以分为纯JAVA和非纯JAVA两种。报表对JAVA的支持与否是一个非常重要的指标,这是因为J2EE技术主导了B/S的应用开发,正是这个原因,支持B/S应用的报表工具一般都能支持JAVA。相比非纯JAVA报表工具来说,纯JAVA的报表具很多明显优势,能与J2EE应用无缝结合,具有好的集成性和部署性,并且适合大型应用系统,因而随着报表市场的发展,纯JAVA的报表工具成为主要产品。 绘制方案决定了报表样式的复杂度和绘制效率,以及导出Excel的能力,报表工具按绘制方案一般可以分为类Excel式和拖拽式两种。类Excel式由于绘制效率高,能够画出样式复杂的报表,且导出Excel格式时不会失真等优势,获得国内用户的青睐。 现有报表产品前端(浏览器端)展现主要有HTML和控件两种方案,从安全性,交互操作以及精确打印的能力等几方面考虑,两种方案各有优劣,因而某些产品同时提供两种方案。 后台集成方案主要有完全嵌入、独立服务器和控件数据服务三种。完全嵌入方案为最经济高效的集成方案,但需要报表工具与应用程序基于同种技术实现。独立服务器方案的优点在于对宿主应用程序的技术体系没有要求,采用不同技术的应用可以将同样的方案集成起来。控件数据服务无法发挥后台服务器的强大计算能力,而且有关处理代码将在前端暴露出来造成安全隐患,不适合大型应用。

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使用者借鉴:

birt交叉表

BIRT交叉报表 一、创建报表和配置数据源 1.新建一个报表,改好自己的名字,然后next进行下一步。

然后选择一个空白报表(Blank Report),单击finish完成。 2.新建数据源,这里使用的是协同数据库,选择Date Explore标签右键单击Data Sources 新建一个数据源。选择JDBC Data Source 命名为clmpdemo 然后单击next

利用JDBC链接数据源,然后点击测试链接,提示成功后,点击finish完成。 注:在应用里面,可以设置为JNDI链接。具体是在报表文件中,增加一列JNDI 设置,如下所示:

contentBidiFormatStr ILYNN metadataBidiFormatStr ILYNN oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@127.0.0.1:1521:eccl clmp ZWNjbDIwMDk= java:/comp/env/clmp

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

相关文档
最新文档