birt动态分组报表制作

合集下载
  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地址栏中输入:,出现下图内容
然后单击“动态分组查询分页”,就能看到如下效果。

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

相关文档
最新文档