
BIRT报表技术培训.ppt
37页BIRT开发技术培训 BIRT培训BIRT背景介绍简介 BIRT是一个Eclipse-based开放源代码报表系统它主要是用在基于Java与J2EE的Web应用程序上BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件BIRT同时也提供一个图形报表制作引擎BIRT拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,也可以生成图片、导出Excel、html分页,样式比script设置简单,另外BIRT还有OLAP导航功能BIRT背景介绍基本概念数据源:数据的来源,或提供者如xml数据源、jdbc数据源、script数据源等数据集:数据集合,它必须与数据源关联,可以理解为查询的结果报表以及报表项,报表可视为是针对一组数据集的表现形式,而报表项这是这个表现形式的某个具体的单元它们之间的关系,与窗体和控件的关系非常类似报表、数据集、数据源三者间的关系:数据源--- 数据集--- 报表报表参数:查询参数的表现形式,使用它可以构建更灵活的报表模板和库:主要用于复用报表设计,提高报表开发的效率。
BIRT报表应用BIRT报表设计器的安装与配置配置环境项目搭建使用BIRT报表设计器设计报表设计一个简单报表给报表添加统计图表给报表添加统计图表使用Xml文件建立xml数据源使用JAVA对象建立脚本数据源BIRT报表设计器的安装与配置配置环境IDE:birt-report-designer-all-in-one-2.2.2 (建议初学者下载,下载后是一个ECLIPSE,BIRT已经装好了,方便) Runtime:birt-runtime-2.2.2jdk1.4 or laterBIRT报表设计器的安装与配置项目搭建直接使用birt_runtime_2.2.2中的WebViewerExample将其发布到C:\jakarta-tomcat-5.0.28\webapps目录下,并将其更改名称为birtApp将已完成的报表,比如test.rptdesign放到birtApp的根目录下,即可通过http://localhost:8080/birt/frameset?__report=test.rptdesign直接在WTP集成的BIRT插件下的新建web project使用BIRT报表设计器设计报表设计一个简单报表创建一个项目选择“文件-新建-项目”,出现一新项目对话框。
打开"业务智能和报表工具”(Business Intelligence and Reporting Tools)组,并选择“web project" 设计一个简单报表创建一个报表选择 文件->新建->报表 新建报表(new report )对话框出现在Tree View中选择我们之前创建的项目:My firstBirt .rptdesign,下一步选择空白报表,最后完成 报表向导设计一个简单报表建立数据源打开数据资源管理器选择数据源节点用鼠标右键单击打开弹出菜单选择新建数据源 新建数据源对话出现数据源类型的创建:选择Classic Models Inc. 示例数据库,在数据源名称输入框, 输入"example" 点击下一步点击完成设计一个简单报表创建数据集选择新建数据集新建数据集对话将出现“在数据集名称”输入框,输入"examples"确保数据源下拉框显示的是我们之前创建的example 数据源确保数据集类型下拉框选中的是"SQL 查询语句" 点击下一步,进入“查询”对话框选择某个表,输入查询语句,即可预览结果设计一个简单报表建立表选项把鼠标移到palette,即可弹出一浮动框,选中“表”项,用鼠标拖动“表”项,移到编辑区,即可弹出“插入表”对话框,修改对应属性。
拖动左边数据集“examples”下的列到表的相应明细数据行拖完后点击“预览”,在编辑区就可以看到报表数据简单报表完成给报表添加统计图表添加新数据集chart,用于统计图表给报表添加统计图表从"Palette"面板拖入"图表"项到报表中,此时会弹出"新建图表"窗口,选择图表类型给报表添加统计图表在"选择数据"页,使用数据集chart,同时选中username列,将其拖入"类别(x)系列"对于统计列,同样将其拖入"类别y系列"这里还可以做数据筛选等操作给报表添加统计图表创在"图表格式"页,分别为x和y系列,填写相应的显示名称还可以做一些显示细节的调整给报表添加统计图表预览使用Xml文件建立数据源新建报表新建数据源,选择Xml数据源,点击"下一步",选择xml文件,点击"完成" Eg: xml文件
新建dataSet,点击两次"下一步",把“user”拖到右边Xpath Expression的值为/root/user使用Xml文件建立数据源点击"下一步",弹出Column mapping对话框,把name,email拖到右边点击"完成"使用Xml文件建立数据源设计报表打开Palette,在刚才新建的报表reportXML.rptdesign上拖放一个Lable 双击lable标签,在文本框输入《客户关系表》把Data Set 拖进来,修改样式以及属性使用Xml文件建立数据源高级特性:实现动态绑定数据点击当前报表的数据源,然后点击该报表的script标签,在beforeOpen方法中加入:importPackage(Packages.java.io)importPackage(Packages.org.eclipse.birt.report.engine.api)/* 这里可以调用业务逻辑返回xml文件字符串 eg:xml = service.getXMLStringByParameter();*/bContent = xml.getBytes("utf-8"); bais= new ByteArrayInputStream(bContent); reportContext.getAppContext().put("org.eclipse.birt.report.data.oda.xml.inputStream", bais); reportContext.getAppContext().put(“org.eclipse.birt.report.data.oda.xml.closeInputStream”, new Boolean(true));使用Java对象建立Script数据源数据源Factorypublic class DataFactory {/** * 定制数据集合,这里也可以从数据库获取 */public static List getData(){Employee emp1 = new Employee();emp1.setName("张三");emp1.setSex("男");emp1.setAddress("西安");Employee emp2 = new Employee();emp2.setName("李四");emp2.setSex("男");emp2.setAddress("北京");List list = new ArrayList();list.add(emp1);list.add(emp2);return list;}}使用Java对象建立Script数据源新建报表。
新建数据源,选择Script数据源,点击"完成"新建DataSet输入名称" employee ", 点击"下一步",定制输出列使用Java对象建立Script数据源选择数据集employee,在报表设计视图点击Script选项卡进入脚本编辑界面在Script下拉框选择open方法,填入以下 代码:importPackage(P.wu.ejb3.client); emps = DataFactory.getData(); iterator = emps.iterator();使用Java对象建立Script数据源在Script下拉框选择fetch方法,填入以下代码:if(iterator.hasNext() == false ){return false;}var emp = iterator.next();row[1] = emp.getId();row[2] = emp.getName();row[3] = emp.getSex();row[4] = emp.getAddress();return true; 在Script下拉框选择close方法,填入以下代码:emps = null;iterator = null;emp = null;使用Java对象建立Script数据源把数据集employee拖入设计视图中,报表就算设计完了。
用Birt制作交叉报表p交叉表概念p顾名思义,就是行和列交叉,用于行上的数据,作为列指标来实现p也可以理解用十字列表或者矩阵表格来呈现,使数据更加直接可视话用Birt制作交叉报表p交叉表准备p交叉表示例 Eg: 制作交叉表之间,我们先在数据库建一张表Create table bike(name varchar(20),country varchar(20),price float)用Birt制作交叉报表p为了测试方便,我们往bike表加入一些数据,这些数据不一定真实,只是为了举个例子让大家明白如何制作交叉报表 用Birt制作交叉报表p交叉表制作p新建报表工程p新建报表p新建数据源p新建数据集在数据集的查询里面输入 : select * from bikep新建Data Cube 用Birt制作交叉报表Data Cubes建好之后,编辑组将name和country列拖入Groups,将price拖入Summary fields用Birt制作交叉报表效果如下图所示:用Birt制作交叉报表点击”Layout”,将Cross Tab拖入Layout 编辑器用Birt制作交叉报表将Data Cube的Groups和Summary Fields展开,如图将name,country,price分别拖入对应的域用Birt制作交叉报表效果如下图所示:用Birt制作交叉报表点击”Preview” 至此,一个简单的交叉图就制作出来了。
BIRTBIRT培训结束,培训结束, 谢谢!谢谢!交流方式:交流方式:。
