BIRT交叉表用法
BIRT3.72汉化版开发使用说明

1简介1.1BIRT (Business Intelligence and Reporting Tools), 是为Web 应用程序开发的基于Eclipse 的开源报表系统,以Java 和J2EE 为基础。
1.2BIRT功能支持:列表-列表是最简单的报表。
图表-当需要图表表现时,数字型数据比较好理解。
BIRT 也提供饼状、线状以及柱状图标等。
交叉表-交叉表(也叫做十字表格或矩阵),分组分类统计。
导出和打印支持。
1.3BIRT 有两个主要组件:基于Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件(ReportEngine报表引擎和WebViewer网页浏览器)。
2birt报表设计器eclipse-reporting-indigo-SR2-win32用于开发和制作rptlibrary库文件和rptdesign报表文件,设计器制作完成的文件,不能用其他工具如记事本、UE去修改(可以查看),一旦修改则原文件作废。
3birt运行器3.1birt运行器有两种,一种是最基本的ReportEngine报表引擎,可以直接用java编程配置和调用,导出多种格式;一种是WebViewer网页浏览器,内置了ReportEngine,只需要提供报表文件和参数,即可直接网页iframe的方式展示报表内容。
3.2基本部署:birt-runtime-3_7_2整个放入tomcat下的webapps中,如果不需要web展示,可以只保留ReportEngine和report文件夹。
如果需要web展示,可以删除ReportEngine文件夹。
如果都需要,删除ReportEngine文件夹,并将java调用API时的birtHome路径配置为birt-runtime-3_7_2下的WEB-INF文件夹即可。
可以变更birt-runtime-3_7_2文件夹的名称。
3.3在birt报表中,中文参数值是乱码的解决办法:1.页面打开url使用window.open(encodeURI(url));2.修改tomcat--->conf---->server.xml,添加<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"URIEncoding="UTF-8" useBodyEncodingForURI="true"redirectPort="8443" />4birt 库文件开发制作4.1运行birt报表设计器,初次使用时,新建一个报表项目,以进入报表设计模式。
JasperReport报表开发之转置交叉表

JasperReport报表开发之转置交叉表使⽤Jasper或BIRT等报表⼯具时,常会碰到⼀些很规的统计,⽤报表⼯具本⾝或SQL都难以处理,⽐⽅源数据不符合交叉表的要求,须要转置后再呈现。
集算器具有结构化强计算引擎,集成简单。
能够协助报表⼯具⽅便地实现此类需求。
以下通过⼀个样例来说明转置交叉表的实现过程。
数据库表booking汇总着各年度商品的预定数据。
有四个字段,包含年份和三种预定状态,部分数据例如以下:报表要求呈现指定年份及上⼀年的预定情况。
当中⾏组有三项,即三种预定状态,列组是年份。
測度是当年的预定数据。
此外要汇总出指定年份各预定状态的增长率。
表例⼦如以下:能够看到,这张报表的难点是:源数据⽆法直接⽤于交叉表,汇总列要⽤相对位置来动态计算。
假设能将源数据转置。
并将汇总列事先计算出来,则会显著减少难度,⽐⽅以下这样:以下⽤集算器准备报表所需的数据,代码例如以下:A1=yearBegin=yearEnd-1yearEnd是来⾃报表的參数,表⽰⽤户指定的年份,⽐⽅2014。
A1中的代码⽤来计算上⼀年(⽐⽅2013),为了⽅便引⽤,上⼀年定义为yearBegin。
A2=myDB1.query(“select * from booking where year between ? and ?order by year desc”,yearBegin,yearEnd)这句代码⽤来从数据库查出指定年份及上⼀年的数据。
myDB1是数据源名,指向MYSQL。
函数query可运⾏SQL语句,也能够接受參数。
如果yearEnd=2014,则A2的计算例如以下:A3=create(row,col,value)这句代码⽤来新建序表A3。
A3有三个字段:row、col、value,将来可存储整理之后的数据。
新建后的A3例如以下:须要注意的是。
序表类似数据库结果集,也是结构化⼆维表。
但序表是泛型的,同⼀个字段能够存储不同的数据类型,序表也是有序的,能够按序号訪问数据。
BIRT 报表使用说明

BIRT 报告传统报告允许允许企业以图形形式显示其他人可读的数据。
BIRT 有助于自动化在部署好的J2EE 应用程序中创建报告的过程。
在本教程中,将学习如何创建一个将使用您的应用程序部署的报告。
示例应用程序当客户来到银行进行取款或汇款时,该事务通常由银行职员执行。
本教程的示例应用程序是一个用户界面(UI),该界面将接收事务细节信息,并将它们存储到一个Derby 数据库中。
记录的事务细节信息包括事务日期、事务标题、职员编号、事务类型、取款或汇款数量,等等。
分析数据当示例应用程序获取信息并将它们存储到数据库中时,数据处于其最原始的形式,没有能以某种有意义的方式进行查看的可靠组织形式。
您开发的BIRT 将用于分析此数据。
所介绍的每种类型的报告都允许您查看并随后分析数据库中包含的数据。
将BIRT 对象嵌如应用程序一旦已经完成BIRT 报告和示例应用程序,就可以将BIRT 对象嵌入应用程序中。
这将使您——银行管理人员——乐于查看发生在银行中的事务的趋势。
您将获得一些知识,这些知识使您作出向更好趋势更改的决定,并提高银行的生产效率和性能。
Derby:设置在这一节中,将创建并初始化具有BIRT 中要使用的测试数据的Derby 数据库。
您将通过Geronimo 的网络服务器使用Geronimo 中的内置Derby 数据库。
在Geronimo 上部署应用程序时,将使用此数据库,因此使用内置数据库是有一定道理的。
设置用于Derby 的Geronimo因为将在用于BIRT 的Geronimo 中使用内置Derby 数据库,所以需要正确的驱动程序。
有一些 .jars 需要添加到Geronimo 中:IBM DB2 JDBC Universal Drivers。
现在您应该已拥有这两个文件(请参阅前提条件)。
解压缩从IBM 获得的 .zip 文件。
从lib 目录中获得两个 .jar 文件:db2jcc.jar 和db2jar_license_c.jar,并将它们放置在Geronimo 安装的<geronimo-install-dir>/repository/org.apache.derby/jars 目录中。
开源报表工具整理

1.BIRT :BIRT是基于Eclipse的报表系统,很有竞争力。
拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐全,样式和script设置简单。
基于Eclipse 开发平台的面向下一代商业应用的大型报表软件系统。
该项目是由美国Actuate 软件公司与清华大学信息研究院Web 与软件技术研究中心合作开发的。
利用Eclipse 平台,面向商务智能(Business Intelligence) 和报表空间,其功能集中在从数据源提取数据、处理数据并显示数据。
BIRT 的最初目标是使用Eclipse 提供一个框架,用以在某组织内设计、布置和查看报表,并包含查询等工具。
BIRT 的报表有四个主要部分:数据(Data) 、数据转换(Data Transforms) 、业务逻辑(Business Logic) 、展示(Presentation) 。
使用BIRT ,用户可以在应用中增加多种形式的报表:列表(Lists) 、图表(Charts) 、交叉表(Crosstabs) 、文档(Letters &Documents) 、组合报告(Compound Reports) 。
BIRT 包括下面几个工具:Eclipse Report Designer(ERD) 、Eclipse Report Engine(ERE) 、Eclipse Charting Engine(ECE) 、Web Based Report Designer(WRD) 。
由于背后有公司支撑,BIRT发展很迅速,在JAVA开源报表工具领域大有后来居上的势头;目前国内普元的EOS报表、杭州数新的Java报表都是基于这个开源的产品改良的,当然还有很多国内的公司用BIRT作为自己的内部报表解决方案,并不直接对外销售,只是打包在自己的项目解决方案中。
2.PentahoPentaho Report Designer是一款所见即所得的开源报表设计工具。
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的GroupGroup的设置页面如下:把我们需要在交叉表的维度拖到Groups的Group下。
(可以根据多个维度建立多个Group)2.4设置CrossTab然后,在设计面板中,双击Crosstab,在弹出的窗口中,选择我们刚才建好的Cube,点击‘Ok’。
设计页面上上出现了一个CrossTab的表格。
然后,打开DataExplor页,将Cube的维度和度量相应地拖放到规定的地方。
如下图所示。
预览效果如下图所示:至此,一个交叉表就完成了2.5给交叉表设置附加列如果想要出现本文开头的交叉表的效果(即:行小计和列小计计算结果),进行如下设置:右键单击横向维度右边的小三角,点击菜单中的Aggregation项:在出现的对话框中,将GrandTotals栏目中的NUM选上,Function选择Sum函数,OK即可。
birt交叉表

BIRT交叉报表一、创建报表和配置数据源1.新建一个报表,改好自己的名字,然后next进行下一步。
然后选择一个空白报表(Blank Report),单击finish完成。
2.新建数据源,这里使用的是协同数据库,选择Date Explore标签右键单击DataSources 新建一个数据源。
选择JDBC Data Source 命名为clmpdemo 然后单击next利用JDBC链接数据源,然后点击测试链接,提示成功后,点击finish完成。
注:在应用里面,可以设置为JNDI链接。
具体是在报表文件中,增加一列JNDI 设置,如下所示:<data-sources><oda-data-sourceextensionID="org.eclipse.birt.report.data.oda.jdbc"name="clmpdemo"id="7"><text-property name="displayName"></text-property><list-property name="privateDriverProperties"><ex-property><name>contentBidiFormatStr</name><value>ILYNN</value></ex-property><ex-property><name>metadataBidiFormatStr</name><value>ILYNN</value></ex-property></list-property><propertyname="odaDriverClass">oracle.jdbc.driver.OracleDriver</property> <propertyname="odaURL">jdbc:oracle:thin:@127.0.0.1:1521:eccl</property><property name="odaUser">clmp</property><encrypted-property name="odaPassword"encryptionID="base64">ZWNjbDIwMDk=</encrypted-property><!--新增JNDI设置--><property name="odaJndiName">java:/comp/env/clmp</property> </oda-data-source></data-sources>3.建立一个新的数据集,New data sets ,命名为clmprfq,点击next。
birt报表使用简要说明

Birt报表使用指南1Birt的安装方法把birt整合到了M yeclips e6.5中,(ec lips e的官方网站上提供有一个bi rt-rep ort-design er-all-in-o ne-2_2_2.zip,你直接解压缩这个就可以了,就免去了birt与My ec lipse6.5的整合)。
如果要把bi rt安装到Myecl ipse6.5中,要注意一些事情1.1ecl ip se的版本就是说你的eclipse版本要和适当的bir t版本配合,当前bi rt的最新稳定版是b irt2.3。
如果使用的是ec lips e3.3版本,你应该用bir t-repo rt-framewo rk-2_2_2.zi p,如果使用的是eclipse3.4,你应该用birt-report-f ra mework-2_3_0.zip版本不一致会出一些问题。
1.2在Myec lipse6.5中装birt。
My Eclipse6.5自带的是ecli pse3.3,所以只能下载birt-re port-fra me work-2_2_2.zip (下载地址:http://do wnlo ad.ecl ips /b ir t/downloa ds/index2.2.2.php)而birt-repo rt-frame wo rk-2_3_0.z ip是针对e clip se3.4的。
把下载下来的birt-r epo rt-fram ew ork-2_2_2.zip包解压,解压后的feature s文件夹下的所有文件拷贝到MyEcl ip se6.5安装目录下的..\my ecli pse\e clips e\fe atures 下,解压后的plug in s文件夹下的所有文件拷贝到..\my eclipse\ec lipse\plug ins下。
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年每个雇员,每月订单金额。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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给交叉表设置附加列
如果想要出现本文开头的交叉表的效果(即:行小计和列小计计算结果),进行如下设
置:
右键单击横向维度右边的小三角,点击菜单中的Aggregation项:
在出现的对话框中,将GrandTotals栏目中的NUM选上,Function选择Sum函数,OK即可。
Layout中的CrossTab自动在最后加了一列,如下图所示:
预览后,效果如下:
同样的,以相同方法设置另一维度:
设置完毕,预览效果如下:。