birt动态分组报表制作

合集下载

birt报表技巧

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并解压(/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 下)axis.jar axis-ant.jarcommons-discovery-0.2.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar(复制到birt_viewer2.2\WEB-INF\lib)prototype.js(复制到birt_viewer2.2\webcontent\birt\ajax\lib下)birt2.1,2.2版本下载下来后就包含了以上所有第三方软件,你只需到相应目录下确认一下,有的话就不用管了!若没有的话就复制到相应目录下即可。

BIRT工具报表生成

BIRT工具报表生成

BIRT报表生成步骤1.新建Report ProjectFile---->new--->Business Intelligence and Reporting Tools--->Report Project点击next按钮,输入Project name,点击Finish按钮。

这样就成功完成Report Project 的创建!本文档以myReport项目为实例。

2.新建Report Project中***.rptdesign的报表。

File---->new--->Report 选中您的报表所要放置的项目,输入File name点击Finish按钮即可!这里把新建的myReport.rptdesign放入myReport项目中。

如下图1.1图1.13.数据库连接3.1双击你要设计的***.rptdesign,这里(以下)我们以myReport.rptdesign为实例,看下图1.2图1.23.2 选中工具左侧Data Expolr下的Data Sources 右击---.>New Data Source具体步骤如下图1.3(选中JDBC Data Source ,Data Source Name自己可以定义,这里我用默认的Data Source。

点击next)图1.3填入相应的数据配置信息如下图1.4图1.4值得注意的是若是第一次使用需要添加ojdbc14.jar包,点击如图1.4中的Manage Drivers 添加jar包。

如下图1.5图1.53.3 选中工具左侧Data Expolr下的Data Sets右击---.>New Data Set如下图1.6,选择您的Data Set需要绑定的Data Source(这里我选择上步创建的Data Source),选择Data Set Type(这里我选择的是:SQL Select Query),Data Set Name 可以自己定义,这里我用默认的Data Set。

01-Birt工具数据报表开发手册

01-Birt工具数据报表开发手册

Birt数据报表开发手册1. 创建模板双击BIRT应用程序以启动Birt报表设计环境,首次启动未加载任何报表开发资源。

主界面如下:根据报表设计的需要,Birt本身提供了一些常规的模板:当然,也可以根据实际需要,添加一些使用频率比较高的模板。

下面将以两张图形,一张列表,且图形在上横向排列的模板为例,创建新模板。

点击文件菜单中的新建,选择新建模板,根据实际情况修改模板名称和存储路径:为此模板添加一些附加属性,如该模板的描述信息和模板布局的预览图像等。

点击完成,开始编辑此模板的布局。

在组件按钮区域依次选取:一个标签,用于放置报表的标题,双击输入标题文本。

也可根据需要动态的文本。

一个网格:用于放置水平的两张图形,因此网格设置为2列1行。

可根据实际情况调整。

一张表:用于放置数据报表,明细数据列设置为8列1行。

可根据实际情况调整。

关于组件的使用,将在后面的章节中具体说明。

用鼠标右击网格中的其中一个空白处,依次选择插入,图表。

在弹出的对话框中选取需要的图形。

同样的方法处理另外网格的另外一个。

有关图形的制作,将在图形报表开发手册中详细说明。

设置每种组件的属性,在OutLine窗口中选中已经拖放的组件,根据需要对其相应的属性进行调整。

如字体大小,颜色,对齐方式,样式等设置完成后,模板样式如下:保存模板的配置信息,以便在以后的报表开发中可以直接读取该模板。

2. 新建共享资源库在Birt的资源管理器中添加一些共享资源,如共享库:在弹出的对话框中输入Library库文件的保存路径和名称:确定后,Library库的创建完成。

如果操作无误,可以在对应的目录下浏览到新建的库。

3. 新建数据源在共享库中新建一个制作报表需要的数据库连接,以Oracle9i数据库连接为例,需要先配置数据驱动(数据库的驱动程序配置方法已经在报表设计器的配置手册文档中体现)。

然后在新建的库中,用鼠标右击数据源,选择新建数据源:在弹出的对话框中选择对应数据源类型,并为该数据源命名:选择正确的数据库驱动和URL后,就可以进行数据库的连接测试:可以根据报表需要,创建一个或者多个数据源的配置:数据源创建完成后,可以通过选择选择资源管理器中共享资源,Library库下新建的数据源,右击鼠标选择添加到报表,将新建数据源添加值报表中供使用。

BIRT报表中文学习手册

BIRT报表中文学习手册

一、去掉Birt表格下自动生成的日期时间在报表下点击Xml Source标签,打开xml,找到<page-setup><simple-master-page name="Simple MasterPage" id="2"><page-footer><text id="3"><property name="contentType">html</property><text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property></text></page-footer></simple-master-page></page-setup>把<text id="3"><property name="contentType">html</property><text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property></text>这几行去掉即可。

二、Birt表格隔行换颜色1、鼠标旋停在表格上,选择Row Detail一行;2、选择script标签页,打开birt的脚本编辑窗口;3、从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:if(row.__rownum % 2 == 0){this.getStyle().backgroundColor = "#E9EAEB";}else{this.getStyle().backgroundColor = "#FFFFFF";}4、保存三、Birt表格分页下面是我从网上找的方法,我试了一下不行,后来我在table里设置了Page break interval 就可以了,但是预览的时候不能看到分页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进行预览,数据可以进行分页显示了。

解决Birt等报表工具制作报表的几个难题

解决Birt等报表工具制作报表的几个难题

解决Birt等报表工具制作报表的几个难题在本文中我们再继续讨论几个类似的制作难题,并把说明集中在如何编写集算器 SPL 脚本上,不再赘述如何在 Birt 中引入 SPL 的步骤了。

1. 组内跨行计算组内跨行计算是指在计算一行中某个计算列的值时,需要引用到组内其它行的数据来进行计算。

比如下面这个例子:库表 sample 有三个字段,其中 id 是分组字段。

需要设计一张分组表,使用id 分组,明细字段是v1,v2 以及计算列crossline, 其中crossline 的算法是本条记录 v1、v2 之和加上本组上一条记录的 v1、v2 之和。

示例源数据如下:最后要展现的报表结果如下图所示:编写集算器 SPL 代码如下:A1 连接数据库A2 查询数据库,同时多产生一列常数备用。

A3 按id 分组,并在每组数据中修改计算列crossline,最后合并,其中v1[-1]、v2[-1] 是集算器特有的定位上一行记录中字段的写法。

A4 关闭数据库A5 将 A2 中的计算结果数据集返回给报表工具2. 跨库数据源制作报表的数据往往来自于多种数据源,比如不同的物理数据库、文本文件、Excel 文件等,这些数据在报表中往往还需要相互关联进行运算。

报表工具本身能实现从多数据源取数,但进行关联运算会有一定的困难,或者运算性能非常差。

而由开发者自己编程去做关联运算,工作量一般又会非常大。

而集算器 SPL 恰恰能在这一点帮上大忙。

下面这个例子中,订单表 orders 和订单明细表 orderDetail 数据分别来自两个不同的数据库,二者之间要做join 运算。

两表数据如下:最后想要展现的报表结果如下:编写集算器 SPL 代码如下:A1 连接数据库 1A2 连接数据库 2A3 查询订单表数据A4 查询订单明细表数据A5A6 关闭数据库连接A7 以 A3 的 orderID 和 A4 的 orderID 为主键进行 left join,连接后的结果集有两个字段,第一个字段是 A3 的记录,第二个字段是A4 的记录。

Birt报表的开发使用手册

Birt报表的开发使用手册

Birt 使用说明合适版本:2.1.3目录一、前言 1二、相关软件 11.1、BIRT 21.2、EMF和GEF 3三、Birt的安装和配置 3四、使用说明 54.1、创建项目 54.2、创建第一个报表 74.2.1、创建一个空白报表 74.2.2、设置数据集参数 94.2.3、设计报表 144.3、报表中的参数 264.3.1、静态标量参数 274.3.2、动态标量参数 294.3.3、动态组合参数 31五、应用系统的结合 31六、BIRT的学习资料和缺点 456.1、学习资料 456.2、缺点 45一、前言公司的一个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以上版本了,就是这个原因网上很多资料都不是很适合这个版本,所以我走了很多弯路,希望看到此文档的人能比我少走弯路,这也是我写这个文档的原因之一。

birt报表简单制作

birt报表简单制作

前言此文档作者是北京恒信启华职下员工肖林宝编写。

乃是本人不成熟作品,简单的介绍了birt报表的制作过程。

为的是给各位同事一个参考,文中若有不完善的地方,还请各位同事多多包涵,多提宝贵意见。

根据各个项目上的实际情况,此文档主要介绍birt报表在公共数据源链接下的制作过程。

下面开始进入制作过程。

Birt报表制作过程在这里我用发票表invoice 简单的制作一个根据日期查询并且统计TOTALCOST 的报表。

Sql语句如下:select INVOICENUM,DESCRIPTION,ENTERDATE,TOTALCOST from invoice whereto_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')>=to_date('2 011-08-01','yyyy-MM-dd')andto_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')<=to_date('2 011-09-01','yyyy-MM-dd') order by INVOICENUM一.打开birt,选择一个报表文件夹,右键—新建—报表。

如图:给报表取个名字。

如下图:名字取完,点finish(完成),该报表文件夹下就会出现此报表文件,如下图:二.开始对报表进行编辑,双击报表文件,打开报表编辑窗口。

选择script标签,在initialize 下写引入包文件代码,如下图:代码如下:importPackage(.ibm.tivoli.maximo.report.script);importPackage(Packages.java.io);//引入包文件importPackage(Packages.java.util);importPackage(Packages.java.text);mxReportScriptContext = MXReportScriptContext.initialize(reportContext);mxReportScriptContext.setDefaultLogLevel("DEBUG");三、开始给报表添加公用数据源,右键maximoDataSuorce—Add To Report,如下图:你会看到新建的数据源已经出现之后在新建一个数据集,右键Data Sets—New Data Set,如下图:双击Data Set,选择Output Columns,添加字段,如下图:单击选中Data Set,选择script标签,open选项,对sql语句进行编辑,如下图:具体内容如下:maximoDataSet=MXReportDataSetProvider.create(this.getDataSource() .getName(), this.getName());maximoDataSet.open();var sqlText = new String();// Add query to sqlText variable.sqlText = "select INVOICENUM,DESCRIPTION,ENTERDATE,TOTALCOST from invoice where "+ " to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')>= to_date('"+params["startdate"]+"','yyyy-MM-dd') "+ " and to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd') <= to_date('"+params["enddate"]+"','yyyy-MM-dd') order by invoicenum " // Include the Maximo where clause;maximoDataSet.setQuery(sqlText)Sql语句编辑完之后,选择fetch选项,编辑字段,如下图:具体内容如下:if (!maximoDataSet.fetch())return (false);// Add a line for each output column// The specific get method should match the data type of the output column.row["INVOICENUM"] = maximoDataSet.getString("INVOICENUM");row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");row["ENTERDATE"] = maximoDataSet.getString("ENTERDATE");row["TOTALCOST"] = maximoDataSet.getString("TOTALCOST");return (true);以上编辑完之后,开始建立参数,右键report parameter—new parameters,如下图:对参数进行设置,如下图:三.开始绘制报表,选择master page,对纸张进行设置,如下图:选择layout标签,右键空白区域,insert—table,如下图:根据实际情况设置表格行列,这里我根据需要设置成一行四列,如下图:表格如下将数据集中的字段拖到表格上,将数据集与表格进行绑定。

Eclipse Birt报表指南

Eclipse Birt报表指南

-简介BIRT是一个Eclipse-based开放源代码报表系统。

它主要是用在基于Java与J2EE的Web 应用程序上。

BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。

BIRT同时也提供一个图形报表制作引擎。

URL: /birt/前言这个指南将引导你设计一个简单的报表,令你对BIRT报表系统有个感性的认识,如果想进一步了解BIRT的使用可以参考 BIRT在Eclipse中自带的帮助,Select Help→Help Contents from the Eclipse menu and then click on the BIRT Developer Guide.如图个人体验操作界面友好大方,小图标都很漂亮:);功能并不逊色与商业报表工具;∙CSS提供了强大灵活的样式定义,对于属性CSS的设计人员来说,应该可以设计出相当出色的报表样式;∙集成在Eclipse中,不用再开启别报表开发工具窗口;∙BIRE的本地化做的很好,安装以后操作界面就是中文的;∙开源的报表产品,降低开发成本,一些报表开发工具除了价格昂贵以外,还有用户限制;BIRT 安装指南安装方式一下载一个BIRT All-in-one版本的 Eclipse,包含了运行BIRT系统所需的组件,最方便了(如果是将报表工具培训一下让非开发人员参与定制话可以这样做:))URL:birt-report-designer-all-in-one-2_1_1.zip安装方式二假设你已经知道如何安装Eclispe插件(建议采用Link的方式安装插件,不至于全部一股脑的将各种插件都解压到Eclipse的目录中去)运行BIRT报表系统需要以下软件或插件∙Java 1.4.2/1.5 JDK/JRE∙Eclipse-SDK-3.1.2-win32及以上版本∙Graphics Editor Framework (GEF) runtime∙Eclipse Modeling Framework (EMF) runtime∙BIRT∙iText 1.3 - 复制 itext-1.3.jar 文件到plugins/org.eclipse.birt.report.engine.emitter.pdf_version/lib 目录.∙prototype.js v1.4.0 - 复制prototype.js 文件到plugins/org.eclipse.birt.report.viewer_version/birt/ajax/lib 目录其他∙BIRT提供的一个Flash格式的安装演示,也可以照着这个演示来安装:)∙BIRT 网站提供的安装指南∙运行报表(tomcat/weblogic/jboss)使用入门1.环境●报表设计器:可以到/birt/downloads/下载最新版本,当前的最新版是birt-rcp-report-designer-2_1_1。

Birt报表开发

Birt报表开发

图1-1 BIRT设计器图1-2 BIRT运行时环境说明图1-3 BIRT报表引擎图1-4 BIRT运行时环境BIRT 设计器和设计引擎可以设计以下的报表:列表-列表是最简单的报表。

当列表变长时,你可以把相关数据增加到同一分组(基于客户的订单分组,基于供应商的产品分组),如果数据是数字类型的,你可以轻松的添加到“总数”、“平均”、或其他汇总中。

列表的产生和显示都可以定制,进行过滤,突出显示,排序,分组同样可以过滤,突出显示和排序。

图表-图表能够帮助数字型的表格形象化的理解。

BIRT 提供饼状、线状以及柱状图标等。

交叉表-交叉表(也叫做十字表格或矩阵)用两种维度展示数据:sales per quarter or hits per web page。

信函和文档-通知、信件、以及其他文本文档都很容易通过BIRT 方便建立。

文档包括正文、格式、列表、图表等。

混合报表-很多报表需要联合以上所有的报表构成单一文档。

例如,一份客户声明会列出客户所需要的信息,为当前促销(promotions)提供文本,以及提供并行的出帐和入帐列表。

一份财务报表将包括声明、图表、表格,所有这些都可以进行全方位的格式化,来匹配共有的配色方案。

Birt有以下几点优点:1、开发方便,BIRT是Eclipse的一个插件可以很好的集成在Eclipse中,图形编辑框架下可以在几分钟之内做出一个报表,操作界面友好大方,MyEclipse近期的版本(8.0以上)本身包含BIRT特性。

2、可以很方便地在一个报表中混合展现概要数据和详细数据。

3、提供了强大灵活的样式定义,对于熟悉CSS的设计人员来说,应该可以设计出相当出色的报表样式。

4、Birt提供很好的国际化支持,支持中文本地化。

图1-5 birt-report-designer-all-in-one下载官网安装方式二:单独下载birt-report-designer所需要的eclipse平台和插件。

Excel中如何创建动态报表

Excel中如何创建动态报表

Excel中如何创建动态报表在当今数字化的工作环境中,Excel 作为一款强大的数据处理工具,被广泛应用于各个领域。

其中,创建动态报表是一项非常实用且重要的技能,它能够根据数据的变化自动更新报表内容,为我们节省大量的时间和精力,并提供更直观、准确的数据分析。

接下来,我将详细为您介绍在 Excel 中创建动态报表的方法。

首先,让我们来理解一下什么是动态报表。

简单来说,动态报表就是能够自动反映数据源中数据变化的报表。

当数据源中的数据发生更新、添加或删除时,动态报表能够实时地进行相应的调整,无需手动重新操作。

要创建动态报表,第一步是准备好数据源。

数据源可以是一个简单的数据表格,也可以是从外部数据库导入的数据。

确保数据源中的数据结构清晰、准确,并且没有重复或错误的数据。

接下来,我们需要选择合适的函数来提取和处理数据。

在Excel 中,有许多函数可以帮助我们实现动态报表的功能,比如 VLOOKUP、INDEX 和 MATCH 等。

以 VLOOKUP 函数为例,它可以在指定的数据区域中查找特定的值,并返回与之对应的相关数据。

假设我们有一个销售数据表,包含产品名称、销售数量和销售金额等字段。

我们想要在动态报表中根据输入的产品名称自动显示其销售数量和销售金额,就可以使用 VLOOKUP 函数来实现。

除了函数的运用,数据透视表也是创建动态报表的得力工具。

数据透视表能够快速地对大量数据进行汇总、分析和展示。

我们只需将数据源插入数据透视表,然后根据需要将字段拖放到相应的区域,如行、列和值,就可以轻松生成动态的汇总报表。

而且,当数据源发生变化时,只需在数据透视表中点击“刷新”按钮,报表就会自动更新。

在创建动态报表的过程中,条件格式的使用也能增强报表的可读性和可视化效果。

例如,我们可以通过条件格式设置,将销售业绩高于平均值的数据用绿色突出显示,低于平均值的数据用红色显示,这样可以更直观地看出数据的分布和趋势。

另外,图表的运用也是必不可少的。

birt教程之分组报表

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.描述分组报表就是将报表中的数据按组显示,即将数据列中相同项合并为一组显示,如下图最简单的分组报表:2.制作步骤2.1新建报表,添加数据集新建工作簿,添加数据集,SQL语句为:SELECT*FROM[销量]。

05-Birt工具图表组合型报表开发手册

05-Birt工具图表组合型报表开发手册

图表组合型报表开发指南-----伊朗演示1、新建报表运行Birt报表开发工具后命名,选择保存的目录,然后Finish。

2、新建数据源开发工具的菜单栏,打开Outline窗口:如下:右击数据源,选择新建:如上图选择,数据源名称自定,Next:从“驱动程序类”的下拉列表中选择对应数据库的的驱动,若没有需要的,则选择“Manage Drivers”按钮:将对应数据库的驱动程序添加进来,回到上一步选择驱动程序类:输入数据库连接信息:URL::jdbc:oracle:thin:@10.40.200.69:1521:osstestUser:bi71Password:smart可测试:右击“数据集”,选择“新建数据集”上面选择前面新建的数据源Next:主数据集sql:select B.PROVINCE_NAME PROVINCE,C.PACKAGE_TYPE_NAME PACK,COUNT(1) TOTAL_SUBS,SUM(CASEWHEN A.STATE = 0 THEN1ELSEEND) AS CHRUN_SUBS,SUM(CASEWHEN A.STATE = 1 THEN1ELSEEND) AS NEW_SUBS,SUM(CASEWHEN A.STATE = 1 THEN1ELSEEND) - SUM(CASEWHEN A.STATE = 0 THEN 1ELSEEND) AS INCREASE_SUBS, SUM(CASEWHEN A.IN_STATE = 1 THEN1ELSEEND) AS SILENCE_SUBS,SUM(CASEWHEN A.IN_STATE = 2 THEN1ELSEEND) AS USAGE_SUBS,SUM(D.TARGET_VALUE) AS TARGET_SUBS, (SUM(CASEWHEN A.STATE = 1 THEN1ELSEEND) - SUM(CASEWHEN A.STATE = 0 THEN1ELSEEND)) / COUNT(1) AS INCREASE_RATEfrom f_width_call A, D_PROVINCE B, D_PACKAGE_TYPE C, TMP_SUBS_TARGET DWHERE A.Province = B.PROVINCE_IDAND A.Package_Type = C.PACKAGE_TYPE_IDAND A.PROVINCE = D.PROVINCE_IDAND A.PACKAGE_TYPE = D.PACK_TYPE_IDAND (substr(A.PRD_ID,1,6)=? or ? is null )AND (A.Province = ? or ? is null )GROUP BY B.PROVINCE_NAME, C.PACKAGE_TYPE_NAME3.2、从数据集(对应Month的查询条件)同样新建数据集:Next:Month条件的sql:select distinctto_char(to_date(D_TIME_PERIOD.PRD_ID,'yyyy-MM-dd'),'yyyyMM') AS Y_M from D_TIME_PERIOD3.2、从数据集(对应Province的查询条件)同样新建数据集:Next:Province条件的sql:select prov.PROVINCE_ID ,prov.PROVINCE_NAMEfrom D_PROVINCE prov4、创建报表参数报表参数,即为查询条件的输入参数。

birt报表使用简要说明

birt报表使用简要说明

Birt报表使用指南‎1Birt的安装方‎法‎把birt整合‎到了‎M yeclip‎s e6‎.5中,(e‎c lip‎s e的官方‎网站上提供‎有一个b‎i rt-re‎p or‎t-desig‎n e‎r-all-in‎-‎o ne-2_2_2‎.zip,你直接解压‎缩这个就可以了,就‎免‎去了birt与M‎y e‎c lipse6‎.5的‎整合)。

如‎果要把b‎i rt安装‎到Myec‎l ips‎e6.5中,‎要注意‎一些事情1.1ec‎l i‎p se的版本就‎是‎说你的eclips‎e版本要和适当的bi‎r t版本配合,当前‎b‎i rt的最新稳定‎版是‎b irt2.3‎。

如‎果使用的是e‎c lip‎s e3.3‎版本,你应‎该用bi‎r t-rep‎o rt‎-framew‎o r‎k-2_2_2.‎z‎i p,如果使用的‎是eclipse3.‎4,你应该用bir‎t‎-report-‎f r‎a mework‎-2_‎3_0.zi‎p版本不‎一致会出一‎些问题。

1.2‎在Mye‎c lipse‎6.5‎中装birt。

‎M‎y Eclipse‎6‎.5自带的是ecl‎i pse3.3,所以‎只能下载birt-‎r‎e port-fr‎a m‎e work-2‎_2_‎2.zip ‎(下载地‎址:htt‎p://d‎o wnl‎o ad.ec‎l ip‎s /‎b i‎r t/downl‎o‎a ds/index‎2.2.2.php)‎而birt-re‎p‎o rt-fram‎e w‎o rk-2_3‎_0.‎z ip是针对‎e cli‎p se3.‎4的。

把‎下载下来‎的birt-‎r ep‎o rt-fra‎m e‎w ork-2_2‎_‎2.zip包解压,‎解压后的featur‎e s文件夹下的所有‎文‎件拷贝到MyEc‎l i‎p se6.5安‎装目录‎下的..\m‎y ecl‎i pse\‎e clip‎s e\f‎e ature‎s 下,‎解压后的plu‎g i‎n s文件夹下的所‎有‎文件拷贝到..\m‎y eclipse\e‎c lipse\pl‎u‎g ins下。

BIRT报表开发手册详解

BIRT报表开发手册详解

开源报表BlRT开发手册北京宇信易诚科技有限公司2007-08-23目录1Birt 介绍 (5)U 报表介绍 (5)1.2基本概念 (5)1・3 丰富的报表 (5)1.4BIRT报表由四部分组成 (6)1.5报表设计器 (6)2Birt插件安装 (8)2.1插件版本说明 (8)12插件安装 (9)2.2.1完全安装 (9)2.2.2更新安装: (9)2.2.3分步安装 (9)3Birt报表开发实战 (13)3.1创建报表 (13)3.1.1创建报表工程 (13)3.1.2创建报表 (14)3.2数据源配置 (16)3.3创建数据集 (19)3.4网格报表 (20)3.4.1创建数据源 (21)3.4.2创建数据集 (21)343 对报表进行布局 (21)3.4.4格式化与预览 (23)3.5分组报表 (24)3.5.1创建数据源 (25)3.5.2构建数据集 (25)3.5.3对报表进行布局 (25)3.5.4设定分组数据 (25)3.5.5格式化报表 (27)3.6交叉报表 (28)3.6.1构建数据源 (28)362构建数据集 (28)363在报表中加入交叉报表 (28)3.6.4数据准备 (29)3.6.5向交叉表插入数据 (32)3.6.6加入汇总 (33)3.6.7格式化报表 (34)3.7嵌套报表 (35)3.7.1构建数据源 (36)3.7.2构建数据集 (36)3.7.3布局嵌套报表 (38)3.7.4将Table绑左数据集 (39)3.7.5设定主表数据 (39)3.7.6设定子表数据 (40)3.8交互报表 (42)3.83 加入响应参数 (45)384 布局扌艮表 (47)3.8.5插入报表数据 (48)3.8.6格式化与预览 (49)3.9报表钻取 (51)3.9.1设泄响应参数 (51)3.9.2预览结果 (54)3.10图表报表 (55)3」0」为报表插入图表 (55)3」0.2 设定图表属性 (55)3」0.3 图表预览 (60)3.11多层交叉报表 (61)3」1」构建数据源 (61)3.11.2构建数据集 (61)3.11.3在报表中加入交叉报表 (62)3.11.4数据准备 (63)3」1.5 向交叉表插入数据 (63)3」1.6 格式化与预览 (64)3.12多层交叉汇总报表 (65)3」2」加入汇总 (65)3.12.2格式化与预览 (66)3.13 其他 (67)3.61 格式化报表 (67)表头与标题 (67)3.13J.2 设泄单元格格式 (68)3.13J.3 样式套用 (68)3.61.4数据元素格式化 (69)3.13.2分页、页眉与页脚 (70)3.13.2」设置分页显示 (70)3」3.2.2 设置分页打印 (70)3.13.2.3 设冒页眉页脚 (71)3.13.3隔行高亮度显示 (73)3.13.4对报告进行布局 (76)3.13.4」添加删除行或列 (76)3」3.4.2 指定行髙或列宽 (76)3」3.4.3 添加图像 (77)3.13.5数据绑泄 (79)4Birt 报表script (82)4・1 avascript 脚本编写 (82)4.1.1隔行髙亮度显示 (82)4.2java脚本编写 (88)421 创建java 类 (88)4.2.2java类与报表交互 (92)4.3BIRT脚本参考 (98)5Birt报表部署 (99)5・ 1 直接使用运行birt-nmtime-2_2_0 包中的WebViewerExamplc (99)5.2集成到已有web应用 (100)5.3数据库驱动位置 (107)5.4报表url说明 (107)5. 5 web, xml 配置 (113)5. 6 viewer・ properties 说明 (115)5.7BIRT 在jsp 中tag 使用 (116)5.8关于BIRT编码 (123)1Birt介绍1.1报表介绍BIRT一一商业智能和报表工具。

BIRT交叉报表动态列DEMO说明

BIRT交叉报表动态列DEMO说明

该DEMO的环境是 tomcat5.0下,BIRT用的是2.6.2,数据库用的是mysql5.0,
该DEMO访问的地址是
http://localhost:8080/portal/birtView?__report=TestReport1.rptdesign&displayFields=account, cost_Center ,Application_Domain,big_Kind, special
参数
__report 是指定报表名字
displayFields 要显示的字段,用逗号隔开,如果不写该参数,显示所有字段。

其中的对应关系:
account -----账簿
cost_Center---- 成本中心
Application_Domain ----应用领域
big_Kind - -----大类
special ----专业
关于BIRT交叉报表动态删除列的说明
1、报表设计部分
数据源,修改自己的数据源
数据集
数据集的数据结构应该是这样:
具体数据可见test_table1.sql文件
2、报表元素
要删除交叉报表的分组列,需要删除列定义、列绑定、分组数据定义以及表头的内容
2.1数据集
账簿的分组定义
账簿分组列绑定定义
账簿账簿的分组数据定义如下:
账簿表头表格定义
账簿表头标签定义
交叉数据集
com.foreveross.kason.birt. BirtReportHandler类中doReport()方法用于删除交叉报表列分组字段的。

具体请看代码
最终结果:
显示全部列
根据参数显示其中3列。

birt入门教程之创建报表

birt入门教程之创建报表

birt入门教程之创建报表创建报表创建报表工程1.选择文件->新建->项目。

如下图中的新建项目将显示可以创建的项目的类型。

2.展开商业智能和报表工具(Business Intelligence and ReportingTools),选择报表项目(Report Project),然后选择下一步。

3.在新建报表项目的工程名称中输入下列文本,如图所示:My Report4.要添加项目,请选择完成。

现在可在导航器视图中看到该项目,如图所示。

创建报表1.选择文件->新建->报表。

如下图:2.选择My Report,输入报表文件名称,如:Customers.rptdesign3.选择Next。

4.可以通过一下方式创建报表:●从空白报表开始设计●使用预定义的报表模版5.选择Finish。

新报表将出现在主窗口中,布局编辑器将显示空的报表页。

如下图所示:同为常用的报表工具,与BIRT对比,FineReport的报表制作过程有什么不同?具体如下:启动设计器1.启动设计器从FineReport官方网站下载.exe安装文件,双击按照向导指示的步骤安装完FineReport最新版本后,或者可参考文档设计器安装与安装英文版设计器进行安装,安装成功从开始菜单>FineReport7.1>模板设计器,启动模板设计器:2.激活设计器第一次运行设计器,会要求输入用户信息码来激活设计器,如下图所示:点击按钮,会跳转到激活码获取页面,留下邮件地址后,用户信息码会自动发送到您的邮箱,在上面对话框的单元格里面输入获得的用户信息码,然后点击,使用设计器按钮,即成功激活设计器并使用。

新建数据连接1.连接数据库启动设计器后,点击菜单服务器>定义数据连接,弹出一个定义数据连接的对话框,如下图所示:注:数据连接是将数据库与设计器进行连接的桥梁,通过数据连接,可以从数据库中取数、写入数据和修改数据等等。

设计器已经默认连接了一个名为FRDemo的数据库,点击测试连接,系统弹出连接成功的消息框表明数据库连接正常,其他数据库JDBC连接方式可参考文档JDBC连接数据库。

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拖动到设计界面上,会自动在报表放置一个Table7、如要对table的某列合计,从Palette视图中拖一个“Aggregation”到设计界面8、如要Master-Sleve报表,则在Table中再放置一个Table。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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”,出现下图:
在Project Name中输入“myReport”,工程构建后的class文件输入目录为WebContent/WEB-INF/classes下。

如下图:
然后单击“Next”,出现下图,这里我将“Generate web.xml Deployment descriptor”选项勾选上,让Ecplise来创建web.xml。

然后单击“Finish”,这样“myReport”工程就建立成功了。

1.3 配置交叉报表数据源
1.3.1建立公共资源的文件夹
右击“myReport”工程,选择“New”------“Folder”,弹出下图所示对话框。

在Folder name录入项中输入db,然后点击“Finish”。

公共资源文件夹就建立完成了。

1.3.2建立公共资源Library
右击“db”公共资源文件夹,选择“New”----“Library”,出现下图的弹出窗口,如下:
在“”输入项中输入dataSource_library.rptlibrary。

然后单击“Finish”。

然后打开“Data Explorer”,如下图:
右击“Data Source”,在弹出的下拉列表选择项中选择“New Data Source”,如下图:
报表的数据来源于Oracle,但是从弹出的对话框不存在Oracle的连接驱动。

我们可以通过手动添加驱动包的形式。

点击“Manage Drivers”,在弹出的对话框中,单击“Add”按钮,我选择的是oracle数据库自带的驱动jar包,如下图:
然后,将oracle数据库的URL,用户名,密码。

输入相应的信息框中。

可以点击“Test Connection”来测试数据库是否连接正确。

如下图:
2动态分组交叉报表2.1 建立报表文件夹
我在myReport工程下的WebContent文件夹下建立了一个用于存放报表文件的文件夹reports。

2.2 建立报表文件
右击“myReport”工程,选择“New”-----“Report”,出现下图对话框,
然后单击“Next”。

在信息框中输入报表文件名称tends_group.rptdesign,然后单击“Next”,会出现一个关于报表类型选择的对话框,这里我采用的是默认选项,然后单击“Finish”。

2.3 复用报表数据源
对该报表使用先前建立的公共数据源,首先打开Resource Explorer窗口,如果当前Ecplise 中未出现Resource Explorer窗口,可以通过以下方法打开。

如下图
打开报表tends_group.rptdesign,将报表模式切换到“Layout”状态下,将dataSource_library 中的数据源“Data Source”拖曳到tends_group中的“Data Source”中,即可完成报表的数据源复用。

2.4 配置交叉报表结果集
在报表“tends_group.rptdesign”的“Layout”模式下,打开“Data Explorer”窗口,右击“Data Sets”,选择“New”-----“New Data Set”。

会出现下图对话框:
这里会要求输入Data Set Name的名字,我采用的是默认“Data Set”。

然后单击“Next”,会出现下图的内容,其中在“Query Text”文本区域中,录入了SQL语句
SQL语句:SELECT ZB,CBZX,YYLY,DL,ZY,SUM(YZ) AS YZ,SUM(JZ) AS JZ,SUM(LJZJ) AS LJZJ,SUM(JZZB) AS JZZB,SUM(KPSL) AS KPSL FROM DWDINFO GROUP BY ZB,CBZX,YYLY,DL,ZY。

如下图:
然后点击“Finish”。

会弹出下面的对话框,
可以查看刚才输入的SQL,所产生的输出效果。

然后点击“OK”,关闭窗口。

2.5 配置交叉报表分组字段
2.5.1新建Data Cuber
在报表的“Data Explorer”窗口中,右击“Data Cuber”,选择“New Data Cuber”,出现下图内容:
这里的“Data Set”采用的是默认“Data Set”。

2.5.2新建Groups
右击“Groups”,选择“Edit Group”,出现下图:
可以直接以拖曳的形式将分组字段拖到右边的Groups信息项下。

最终窗口中的内容如下:
2.6 配置交叉报表求和字段
继续2.5中的步骤,将求和字段拖曳到右边的Summary Fields信息项下。

最终窗口中的内容如下:
然后点击“OK”,这样交叉报表前期结果集信息就配置完成了。

2.7 交叉报表表样制作
2.7.1新建Cross Tab
在报表tends_group的“layout”模式下,在空白区域,右击“Insert”------“Cross Tab”,如下图:
在报表中会产生以下内容:
2.7.2完成报表表样制作
(1)将Groups字段拖曳到Drop data field(s) to define rows here区域中,最终报表表样如下:
(2)将Summary Fields字段拖曳到Drop data field(s)to be summarized here 区域中,最终报表表样如下:
(3)制作报表表头
在最左上方的单元格中右击“Insert”---“Grid”,建立一个5列1行的Grid表。

并在每个Gird单元格中插入Label,修改Label的内容,最终报表表样如下:
2.7.3预览交叉报表
点击tends_group报表的“Preview”模式预览报表展示效果,如下图:
2.8 报表分页实现
(1)报表分页的实现
报表分页的解决方案是通过使用JA V A程序来动态修改报表文件的源码的SQL语句,来最终实现报表的分页。

(2)关于JA V A的具体实现,这里就不在介绍,请参阅ServiceManagerImpl.java
2.9 动态分组实现
(1)请参阅GroupServiceImplBack.java
3部署交叉报表
(1)部署交叉报表
关于部署交叉报表,我是采用的手动部署的形式。

首先将工程下的文件夹“WebContent”,复制到tomcat下的webapps中。

然后将WebContent文件夹的名称修改为myReport。

4运行交叉报表
(1)启动tomcat
由于我的报表tomcat运行环境是单独一个非安装tomcat环境,所以启动时,我选择运行“startup.bat”,目地是防止启动本机安装的tomcat环境。

并且我将tomcat的启动端口修改为了7777。

下图就是tomcat正常启动后的内容。

可能具体的启动所用时间有所不同。

(2)浏览交叉报表
在IE地址栏中输入:,出现下图内容
然后单击“动态分组查询分页”,就能看到如下效果。

以上就是动态分组交叉报表的制作过程。

相关文档
最新文档