第八章 BIRT交叉报表

三、BIRT报表之绑定数据库&使用公共类 三、 绑定数据库&使用公共类0. 总体概况1. 建立公共库用于数据库连接2. 将其他报表引入公共库3. 对表进行操作,绑定到之前制作的报表中: 本章主要是讲解birt使用数据源对数据库进行连接操作 对于安装birt报表和组件的使用,前面已经写比较完善了,可以通过这个分类很快的检索到需要的内容 0. 总体概况 在Data Explorer中,有几个数据库操作的,我一一讲解: Data Sources: 数据源,用于数据库/其他数据源(excel 、xml)连接信息,一般一个项目存一个公共库统一 阅读详情

8.1 创建交叉报表和统计

一、创建报表和配置数据源

新建一个报表,改好自己的名字,然后next进行下一步。


选择一个空白报表(Blank Report),单击finish完成。


新建数据源,这里使用的是协同数据库,选择Date Explore标签 右键单击Data Sources 新建一个数据源。选择JDBC Data Source 命名为 clmpdemo 然后单击next 


利用JDBC链接数据源,然后点击测试链接,提示成功后,点击finish完成。


注:在应用里面,可以设置为JNDI链接。具体是在报表文件中,增加一列JNDI设置,如下所示:

  1. <data-sources>  
  2.         <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="clmpdemo" id="7">  
  3.             <text-property name="displayName"></text-property>  
  4.             <list-property name="privateDriverProperties">  
  5.                 <ex-property>  
  6.                     <name>contentBidiFormatStr</name>  
  7.                     <value>ILYNN</value>  
  8.                 </ex-property>  
  9.                 <ex-property>  
  10.                     <name>metadataBidiFormatStr</name>  
  11.                     <value>ILYNN</value>  
  12.                 </ex-property>  
  13.             </list-property>  
  14.             <property name="odaDriverClass">oracle.jdbc.driver.OracleDriver</property>  
  15.             <property name="odaURL">jdbc:oracle:thin:@127.0.0.1:1521:eccl</property>  
  16.             <property name="odaUser">clmp</property>  
  17.             <encrypted-property name="odaPassword" encryptionID="base64">ZWNjbDIwMDk=</encrypted-property>  
  18.             <!--新增JNDI设置-->  
  19.             <property name="odaJndiName">java:/comp/env/clmp</property>  
  20.         </oda-data-source>  
  21. </data-sources>  

建立一个新的数据集,New data sets ,命名为clmprfq,点击next。

构建数据集的sql语句,如下所示:


Sql语句内容如下:

select CLMP.QTLINE.QTL_NAME,

CLMP.QTLINE.QTL_MODEL,

CLMP.QTLINE.QTL_BIDPRICE,

CLMP.QTLINE.QTL_BIDQUANTITY,

CLMP.QTLINE.QTL_REMARK,

CLMP.QUOTATION.QT_VD_ID,

CLMP.QUOTATION.QT_VD_NAME,

CLMP.QUOTATION.QT_US_ID,

CLMP.QUOTATION.QT_US_NAME

from CLMP.QUOTATION,CLMP.QTLINE

where CLMP.QTLINE.QTL_QT_ID=CLMP.QUOTATION.QT_ID

and CLMP.QUOTATION.QT_RFQ_ID=?

创建一个报表参数,命名为rfqID。如下

创建一个总价的计算列:



然后再数据集clmprfq中引用这个参数,如下图所示:


数据集到此配置完毕,预览结果如下:


配置Data Cubes

新建Data Cubes,右键new data cubes


为cubes命名,并设置数据集


创建分组和汇总字段


创建之后形成的多维数据集如下图所示:


设计报表主体

先切换到Palette标签,然后拖拽一个Grid(网格)到空白报表中:


网格选取的是1行2列的,如下所示:


在第一行中输入该报表的标题,在第二行中拖拽一个交叉表:


切换到Data Explorer 选项卡上,将维度,及度量源依次拖拽到相应的交叉表中:


然后增加总价一列,左击(或者右击)在出现的选项中有Totals一项,如下图:


并勾选行和列需要总计的字段,如下图:


完成后的报表设计如下:


到此,已经基本上完成了,我们可以预览看下结果


8.2 多维交叉报表和维度过滤

实际上我们还能增加行和列的统计功能,以及增加统计的维度。

新建报表cross.rptdesign,使用示例数据库,SQL选择查询数据源,新建数据集data set:

select * from CLASSICMODELS.PAYMENTS

增加计算列year,month


year的表达式如下:

var v = row["PAYMENTDATE"];

    v = v.toString();

    v = v.substring(0, 4);

v;

month的表达式如下

var s="";

var v= row["PAYMENTDATE"];

v=v.toString();v=v.substring(5,7);

function aaa(v){    

var s="";    

if(v=="01" || v=="02" || v=="03")s=" 一季度";    

if(v=="04" || v=="05" || v=="06")s=" 二季度";   

  if(v=="07" || v=="08" || v=="09")s="三季度";   

  if(v=="10" || v=="11" || v=="12")s="四季度";

return s;

}

s=aaa(v);

s;

新建多维数据集:


我们把customernumber和year作为一级交叉列,把month作为year的二级交叉列,新建交叉表,分别把组和组1放置在交叉表的列头上:


选中交叉表,在下面的交叉表属性选项卡下,有行区域和列区域,可以增加统计和小计:


做适当的布局和美化,如下图所示:


预览结果如下:


当然,交叉报表也可以增加映射,过滤器,突出显示属性,例如我们增加一个参数

静态文本框参数persionId


过滤组1/year,筛选条件为data[“year”]不等于params["persionId"].value


运行时,我们过滤掉2003年的数据,则预览效果如下:


排序和突出显示和普通网格报表类似,不作更多案例。

8.3 表头的设计

关于表头斜线的绘制,方法有两个:

第一个是插入一个已经绘制好的图片:


效果如下:


另一种是用BIRT的方法绘制:

我们新建一个报表diagonal.rptdesign,使用示例数据库,空白模板,sql选择查询数据源,我们新建数据集data set:

SELECT CLASSICMODELS.PRODUCTS.PRODUCTLINE, CLASSICMODELS.PRODUCTS.PRODUCTNAME, 

(CLASSICMODELS.ORDERDETAILS.PRICEEACH * CLASSICMODELS.ORDERDETAILS.QUANTITYORDERED) AS TOTAL

FROM CLASSICMODELS.PRODUCTS, CLASSICMODELS.ORDERDETAILS

WHERE CLASSICMODELS.PRODUCTS.PRODUCTCODE = CLASSICMODELS.ORDERDETAILS.PRODUCTCODE

然后新建多维数据集:

行列组分别为productline,productname数据集属性列,摘要为TOTAL


布局如下:


我们在表头插入一个1行1列的网格,在网格单元格的属性中,我们可以看到对角线属性:


修改,增加两条黑色细实线。

然后在网格里插入文本:

  1. <div style="margin-left:120px; margin-top:10px;">ProductName</div><br>  
  2. <div style="margin-left:50px;">Total</div>  
  3. <br>  
  4. <div style="margin-left:30px;">ProductLine</div>  

值得注意的是,网格的行高度一定要和表头的行高度一样,而且必须设置为固定数值的大小,不是##%:


预览,效果如下:



BIRT报表目录 打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~ 欢迎大家光临我的主页:http://blog.youkuaiyun.com/birtbird~ BIRT的世界-BIRT技术漫谈 目录 第一章 BIRT简介 3 1.1 BIR 阅读详情

相关推荐

精通BIRT:Eclipse商务智能报表工具开发实践指南

书籍正有清华大学出版社编辑出版发行中,敬请期待,目录如下:  第一章 BIRT简介 5 1.1 BIRT初识 5 1.2 BIRT安装 8 1.2.1 BIRT设计器的安装 8 1.2.2 BIRT运行时环境的安装 9 第二章 BIRT设计器概述及本地化支持 12 2.1 BIRT设计器概述 12 2.1.1 基本概念 12 2.1.2 基本视图 13 2.2 BIRT本地化之

BIRT的世界-BIRT技术漫谈 1万+

BIRT报表使用

BIRT是一个开源软件项目,它提供BIRT技术平台来创建数据可视化和报表,这些可视化和报表可以嵌入到丰富的客户端和Web应用程序中,尤其是那些基于Java和Java EE的应用程序。 内含下载地址

乱域葬魂 4167

BIRT交叉表演示与应用教程

本文还有配套的精品资源,点击获取 简介:百灵报表(BIRT)是一个强大的开源报告工具,用于数据分析和报表制作。演示二压缩包主要讲解如何使用BIRT创建交叉表,这是一种多维度数据分析工具。文章将介绍创建交叉表的基本步骤,包括设计环境配置、数据源和数据集定义、交叉表的添加和配置、行列字段的定义、数据汇总与计算方法、格式化与样式设计、以及报表的运行与预览。同时,提供视频教程以深入...

weixin_29717341的博客 1501

使用Eclipse BIRT和POJO的报表教程

Eclipse Birt 本教程介绍如何使用Eclipse BIRT和POJO来制作报表。本教程还介绍了如何部署所制作的BIRT报表到Web容器(Tomcat)中,以及如何把它运用到一个Eclipse RCP应用程序中。 本教程使用的是Eclipse 3.7 (Indigo)。

兰染 1万+

BIRT报表开发教程

BIRT报表开发教程,非常详细的教程!包含各种类型的基础报表,交叉表等!

birt 报表教程 中文

birt 报表教程,中文版的,需要的朋友请下载, 如果对birt报表有疑问请留言,留下msn

BIRT-商业智能报表工具开发案例指南

打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~ 欢迎大家光临我的主页:http://blog.youkuaiyun.com/b...

chihengfu9559的博客 102

PTA 编程题(C语言)-- 然后是几点

PTA 编程题(C语言)-- 然后是几点

LCCprogrammer 5077

精通BIRT:Eclipse商务智能报表工具开发实践指南 (1-16章的目录明细)

书籍正有清华大学出版社编辑出版发行中,敬请期待,目录如下:  第一章 BIRT简介 5 1.1 BIRT初识 5 1.2 BIRT安装 8 1.2.1 BIRT设计器的安装 8 1.2.2 BIRT运行时环境的安装 9 第二章 BIRT设计器概述及本地化支持 12 2.1 BIRT设计器概述 12 2.1.1 基本概念 12 2.1.2 基本视图 13 2.2 BIRT本地化之

The code world of freedom 1037

1.安装EMQX服务器

阿里云;EMQX

hfh8130的博客 5311

Android ------ 开源的Modnet算法实现抠图和更换背景

Portrait Matting (sight-x.cn) 飞桨PaddlePaddle-源于产业实践的开源深度学习平台 GitHub - PaddlePaddle/PaddleSeg at develop

切切歆语的博客 1万+

Birt报表开发实践

  项目需要用报表,看了几个报表工具,似乎Myeclipse自带 Birt比较方便,自带导出分页,支持多种图形,简单报表基本只需要写sql,。。开始实践学习;    一、相关资料:  1、  MyEclipse8.6——BIRT报表开发学习,这篇文章看完了基本可以了解下Birt是个什么东西。  2、 http://blog.youkuaiyun.com/birtbird~(看了目录我继续写下去的欲...

brosnan2800 142

别再死记硬背了!用LabVIEW串口通信的3个真实项目案例,手把手教你从调试到部署

本文通过3个真实项目案例,详细讲解LabVIEW串口通信从调试到部署的全过程。涵盖Arduino温湿度监控、西门子PLC Modbus通信以及高可靠性通信框架设计,提供实用技巧和常见问题解决方案,帮助工程师快速掌握LabVIEW串口通信的实战应用。

weixin_30485379的博客 523

BIRT-商务智能报表工具开发案例指南

BIRT 报表 脚本 开发 数据库 http://www.iteye.com/topic/1128694 打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~欢迎大家光临我的主页:http://blog.youkuaiyun.com/birt...

weixin_30795127的博客 139

Onnxruntime之YOLOP部署过程记录

魔改YoloP部署过程记录

如果想成为中心,那么就到中心去吧。 1924

Atlas 300I Duo - vllm部署Qwen3-VL-8B-Instruct

本文介绍了在Ascend NPU环境下部署Qwen3-VL-8B大语言模型的步骤。主要包括:1)安装驱动、docker和vllm镜像;2)创建特权容器并挂载设备与目录;3)进入容器安装指定版本的transformers;4)设置环境变量和NPU卡配置;5)启动vllm服务;6)测试API接口。部署过程涉及多块NPU卡的使用,需注意内存碎片化问题,最终通过vllm框架提供模型推理服务。

m0_50105717的博客 1561

eclipse birt报表开发入门

1.birt下载和安装

Coder-qi's Blog 4617

基于SSD2828和STM32的MIPI显示屏驱动系统设计与实现

在硬件层面,需要将STM32、SSD2828和MIPI显示屏连接起来。STM32与SSD2828的连接:通过SPI接口连接STM32和SSD2828,用于配置和控制SSD2828。SSD2828与MIPI显示屏的连接:通过MIPI DSI接口连接SSD2828和MIPI显示屏,用于传输显示数据。

qq_38334677的博客 7143

birt 报表设计(5)—交叉表格

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33719619的博客 325

ABAP 里解构引用操作符 ->* 的使用方法详解

解除引用操作符->*可用于将“类型为REF TO …的引用变量”的值(即该引用所指向内存)取出,从而访问其实际值或内部组件。具体地,若dref是一个“引用变量”,则表达式dref->*代表对该引用进行“解除引用”,使得程序按静态类型将其视为实际类型的值对象。例如,若lr类型声明为,则lr->*表示“将 lr 引用的INT4对象看作INT4类型并访问其值”。注:若 “数据引用变量” 的静态类型是通用类型DATA,则只能在这种上下文中使用->*。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 480

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Birt报表使用rptlibrary做为所有报表的数据源及问题

1、新建rptlibrary文件,文件夹随意,命名为test.rptlibrary: 2、test.rptlibrary本身为一个xml格式的文件,直接编写,添加数据源: 数据源代码: &lt;!-- 数据源 start --&gt; &lt;data-sources&gt; &lt;oda-data-source extensionID="org.e...

lq2016的博客 1036

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

BIRT入门教程1

创建第一个报表 通过一个简单项目认识birt,把Classic Cars库中的员工信息展示出来。 1.新建项目 打开 Navigate 视图,在任意空白处右击,从菜单中选择New,并选择project。 然后选择列表文件夹中的 Business Intelligence and Reporting Tools,展开后选择Report Project,点击Next按钮。 输入Class_Cars_

neweastsun的专栏 4549

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 第七章 BIRT分组报表
下一篇: 第九章 BIRT嵌套报表以及参数的传递
freedom1993
博客等级 码龄12年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值