BIRT内部探讨
- 格式:ppt
- 大小:786.50 KB
- 文档页数:13
Birt 入门文档目录1 BIRT -前言 (1)2 BIRT -简介 (1)3 BIRT -配置安装 (2)3.1 下载 (2)3.2 安装以及汉化 (2)4 BIRT -简例 (2)4.1 创建一张报表 (3)4.2 创建报表数据源和数据集 (5)4.3 构建Table (9)4.3.1 构建明细表 (9)4.3.2设置边框,样式 (10)4.3.3创建报表参数 (11)4.3.4设定颜色标识 (13)4.3.4过滤器使用 (15)5 BIRT -小结和回顾 (16)1 BIRT -前言本文档在简介BIRT这个开源免费的报表开发工具后将引导你设计出简单的报表,如想进一步了解BIRT的使用可参考BIRT在Eclipse中自带的帮助,Help→Help Contents。
2 BIRT -简介BIRT是一个Eclipse-based开放源代码报表系统。
BIRT是Business Intelligence and Reporting Tool的简写,即商业智能与报表工具。
它主要是用在基于Java与J2EE 的Web应用程序上。
BIRT主要由两部分组成:一个是基于Eclipse的报表设计器,另一个是可以加到你应用服务的运行期组件。
BIRT同时也提供一个图形报表制作引擎。
URL: /birt/ 这个网址可以找到BIRT,可以去看看。
使用BIRT可以开发出多样化的报表应用,包含:列表(最简单的报表就是列出数据)、图标(饼图,折线图,柱状图等)、交叉表(通过二维显示数据)、字符和文档、复合报表(多个报表组成)等。
有人总结了许多它的优点。
看一下:•操作界面友好大方;•功能并不逊色与商业报表工具;•CSS提供了强大灵活的样式定义,对于属性CSS的设计人员来说,应该可以设计出相当出色的报表样式;•集成在Eclipse中,不用再开启别的报表开发工具窗口;•BIRE的本地化做的很好,安装以后,可以汉化;•开源免费的报表产品,降低开发成本,一些报表开发工具除了价格昂贵以外,还有用户限制;3 BIRT -配置安装3.1 下载在BIRT官方网站/birt/ 下载。
商业智能报表工具BIRT宿晓丹北京邮电大学软件学院,北京(100876)E-mail:xiaodan6677@摘要:报表在信息系统中具有基础性的地位,报表技术日渐成熟,涌现出了一批优秀的报表工具软件。
商业智能报表工具BIRT是基于Eclipse插件技术的一个开源报表工具,可以和J2EE以及J2SE的应用进行无缝的集成,使得我们进行B/S报表设计有了一个全新的选择。
本文详细介绍了BIRT概念和报表组成,阐述了其体系结构,报表流程及基于它的二次开发,并就其优势与不足给出了综合评定。
关键词:报表;商业智能;BIRT;报表引擎中图分类号:TP3111 引言报表作为一种信息组织和分析的手段,在各个行业中都有很广泛的应用,其内容和形式也多种多样。
在现代化企业信息系统特别是管理信息系统(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。
birt报表参数BIRT报表参数是一种用于生成动态报表的工具,它可以根据用户的需求来动态地改变报表的内容和显示方式。
在本文中,我将介绍BIRT报表参数的一些基本概念和使用方法。
让我们来了解一下什么是BIRT报表参数。
BIRT报表参数是一种用于传递数据给报表的方式,它可以让用户在生成报表时输入一些参数值,从而影响报表的生成结果。
比如,我们可以通过报表参数来过滤数据、排序数据、设置报表的标题等等。
在BIRT中,报表参数的定义是在数据源上的,我们可以在数据源中定义一些参数,并在报表设计中使用这些参数。
当用户生成报表时,系统会提示用户输入参数值,并根据参数值来生成报表。
在使用BIRT报表参数时,首先需要在报表设计中定义参数。
定义参数的方式是在报表设计的参数视图中添加一个新的参数,并设置参数的名称、数据类型、默认值等属性。
参数的数据类型可以是字符串、整数、日期等,根据实际需求来设置。
定义好参数后,我们可以在报表设计的其他地方使用这个参数。
比如,我们可以将参数值作为过滤条件来过滤数据,或者将参数值作为标题的一部分来显示在报表上。
在使用BIRT报表参数时,我们可以通过多种方式来传递参数值。
一种常见的方式是通过URL传递参数值。
在URL中,我们可以使用参数名和参数值的键值对来传递参数值。
比如,我们可以使用以下URL来传递参数值:```http://localhost:8080/birtviewer/frameset?__report=report.rpt design¶m1=value1¶m2=value2```在上面的URL中,param1和param2是参数的名称,value1和value2是参数的值。
通过这种方式,我们可以在生成报表时动态地传递参数值。
除了通过URL传递参数值,我们还可以通过其他方式来传递参数值。
比如,我们可以在程序中使用API来设置参数值,或者在报表生成界面上手动输入参数值。
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 (下载地址:/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就好了。
2公共方法2.1公用数据源的方法1.右键单击工程,选择new>Library,起个名字叫ds.rptlibrary2.在Outline窗口下选择Data Sources,选择JDBC Data Source,然后填入连库字符串及用户名密码3.这样数据源就建立好了。
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,把生成的报表内容直接输出到浏览器。
1.问题产生背景我们在报表的开发中,时常要处理大的数据处理量和复杂的业务,而brit使用的方式常以sql查询进行展示为主。
在加上由于我们项目中大多数是已EJB作为业务逻辑处理,而报表只是最为了一个客户端的展示,没有访问数据库执行sql的权限。
同时由于WEB具有很大的客户群体,WEB直接访问数据库,势必会降低服务器的安全性。
2.解决问题的流程方案2.1. 确定使用的解决方式由于BRIT提供了SCRIPT 脚本提供解决方式,BRIT 脚本是一种java和javaScript的一种结合使用。
我们使用script调用具有业务处理的java类,实现业务的展示。
2.2. 解决流程2.在数据源的open事件中我们调用业务类,进行读取数据。
实例如下:上面是模拟也一个java的类,获取了一个list集合。
比如变量aaaa的值,在报表上可以用下面的格式展示:3.结果集数据我们就要创建新的数据集对象,这样我们才能对一个集合的数据进行遍历展示。
在数据集的open事件中获取lists中下标为1的的数据集合,进行遍历然后在数据集的fetch中进行遍历数据dataSetRow["ss1"]是指数据集中的一列。
fetch事件执行的是数据集合的循环遍历。
多个数据集合,我们需要增加多个数据集进行遍历4.参数的使用,我们根据具体的参数,动态获取数据。
选择报表参数,进行新建参数。
参数的读取方式是:params["参数名"].value参数名就是我们在进行页面加载报表的时候用get方式传递的数据,URL上的参数名就是指我们报表上的参数名。
6.2.3. 结果实例3.使用后产生的结果应用中我们第一个主要的实例就是进行“多主险投保单”保单开发,保单主要分为4页,数据统一从EJB中进行读取,打印报表调用的时候根据传递的参数读取投保单信息,在数据源中进行拆分,根据数据的结构,创建结果集。
进行展示数据。
BIRT 经验总结----梅龙Birt 动态SQL ,改变参数方法一:在数据源的beforeOpen 事件中改变queryText 值 此种方法的好处在于:可以预览结果值(推荐)单击”数据集”→选择” script”→选择”beforeOpen ”事件 开始编辑截图:采用此方法后数据集中可以不用再写select 查询语句,如果有必要 可以在Date set 中配置参数方法二:在数据集date set 编辑器中有property binging 的属性截图:代码:此种方法 SQL 查询语句必须要在属性绑定中重写一次,否则报表无法获得SQL.可在这里动态的改变参数.在Data Set 中的查询语句,不可以有 “like ?” 这种写法.如果需要,采用上面介绍的动态SQL 改变方法中的任何一种拼凑SQL 语句 或者改变参数BIRT 打印SQL 调试SQL 语句和参数选中”数据源”—“脚本” 打开beforeOpen 事件 编辑代码:截图Birt强制分页Eclipse Birt2.1现在是自动按照分组进行分页显示,如果没有分组,那么自动是不进行分页显示的,如何对这种情况进行分页显示呢,方法如下:1、鼠标旋停在表格上,选择Row Detail一行;2、选择script标签页,打开birt的脚本编辑窗口;3、从下拉列表中选择onPrepare,在下面加入Javascript脚本如下:var count = 0;4、从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:count++;if(count % 10 == 0){style.pageBreakAfter = "always";}5、保存,使用Web Reviewer进行预览,数据可以进行分页显示了。
注意不要使用Preview标签页进行浏览,这个标签页的浏览效果是不分页的。
发布到web 工程上,也可以进行分页显示了。