birt报表中使用多个数据集。

这个问题困扰了几天,也没搜到答案,由于工作需要,创建了两个数据集和两个表格,第一个数据集和表格之间没有任何问题。但是第二个数据集拖过去就显示不可用,除非拖到表格外面,当然也就没用了。一朋友说拖一个网格过来,然后把在网格里拖几个表,这样就可以使用多个数据集了。从而也大大减小了写一条sql的难度,因为可以写多段简短的sql了。

在birt中写sql,假如sql语句中用到了case when then end sql特别容易报错,尤其是带有group by的语句,一定要注意case when 的字段。

目前遇到了一个特别奇葩的问题,那就是在数据库查询到的结果和在birt中预览出的结果不一样,不仅多少条条数不同,连数据也有不同的地方,重启了几遍报表工具,检查了几次sql都没有发现问题,同一条sql出不同的结果,这是始料未及的。

希望这一小段能帮到需要帮助的人,也希望看到我这个问题的birt大神留言帮忙解答一下,谢谢!

时间: 2024-12-28 17:47:58

birt报表中使用多个数据集。的相关文章

BIRT报表在开源项目jeesite项目中的集成

由于业务需求需要接触一些开源的报表,因为这方面需求量不是很大,而且小项目没办法直接购买润乾,帆软报表等,最近开始研究了一下开源的图表开发. 1.JFreeChart 优点网上例子代码多,上手方便,缺点生成的图表有些不够清晰,采用纯编码方式,不够直观. 2.BIRT报表,BIRT报表是IBM公司提供的开源项目 ,优点:大公司提供,品质值得信赖,而且还有集成在Eclipse中的开发工具,直观方便,而且和以前用过的其他报表的设计思路相差不大,可以生成复杂的图表.最大的好处是可以直接嵌入到已经开发好的J

FineReport中如何制作树数据集来实现组织树报表

1. 问题描述 FineReport,组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此FineReport提供了一种特殊的数据集--树数据集,只需要简单的设置就能自动递归出层级,方便的实现如下图组织树报表: 图一   图二 2. FineReport构建树 2.1 新建报表,添加数据集 新建工作薄,添加数据集ds1取出原始数据,SQL语句为SELECT * FROM 公司部门. 2.2 定义树数据集 1)根据父字段构建树 使用情形:原始表

从BIRT报表文件中获取页面设置信息(页边距、纸张大小、输出方向)的方法

报表打印时,尤其是套打的报表,页面设置信息非常重要,比如页边距,纸张大小,输出方向等,而且每个报表的相关参数有可能不同,因此相关参数从具体报表中获取是一个非常正常而且合理的想法. 如果采用BIRT作为报表的开发工具,报表设计器负责报表的制作,BIRT运行时负责处理报表文件,对于浏览器来说,BIRT后端输出的是网页,并不包含页面设置相关信息,浏览器有自己的打印设置选项,也不会从网页中读取,但是报表设计器在报表设计时提供页面设置信息的设置界面,因此我们需要通过运行时API手工写代码从具体报表中获取页

eclipse birt报表开发入门

在开发中,报表或多或少会涉及到,有些报表可能比较简单,而有些报表可能很复杂.无论如何,这些报表功能的开发都是可以通过一些公共的组件来实现的,比如我现在所在的这家公司,如果想要制作报表,只需要配置下报表配置下就可以了(这个报表是通过特定实现的报表语言实现了,支持内部自定义的语言,最终将这些相应的数据保存到数据库中,对报表中的一些事物进行了抽象,比如:报表模型, 查询参数.).如果要自己手动的一步一步的编写报表,那么相对会比较麻烦,如果能提供一个框架,只需要进行一些配置就可以完成自定义报表,那岂不很

集算器实现报表中零散的不规则计算

报表中存在的不规则计算往往给报表开发带来很大的困难,使用报表工具往往很难甚至无法直接实现.这里的不规则计算是指报表中存在特殊条件的统计项(计算),如:销售订单金额统计中计算前5名销售金额的合计和占比:学生成绩统计中总成绩排名前10的学生中语数外都超过90分的人数:用户充值统计中充值金额超过充值总额一半的用户数量等. 通过集算器可以很方便完成这类报表的开发,我们通过两个例子来了解一下具体的做法. 1.实例一 1.1 .报表描述 根据员工与订单表统计各销售人员的销售情况,并在报表中计算列出订单总额.

水晶报表中公式字段if else 语句无法正常执行的问题

公式字段内容如下: if {MainTable.bOtherDoc}="on" thenchrw(254)elsechrw(168) MainTable.bOtherDoc来自于复选框直接通过FromConnection获得的字符串值,当选中时为“on",不选中时候为null 上述公式字段只有当值为on时候才能正常执行,也就是说else永远不执行. 其它环境: 水晶报表采用了push方式,骨架用了数据集Delegation.xsd, 其中只有一个表MainTable 解决办法

WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改

一.前提需求说明: 最近在做项目的时候使用jboss WildFly发布BIRT报表,在报表中我是直接添加的JDBC数据源,通过Database URL .用户名和密码连接数据库.后来在部署到正式和测试服务器的时候还需要每次都需要修改报表文件的数据源.所以就想是不是有办法在报表文件中和服务系统中怎么配置一下,部署的时候不再需要重复修改数据源.这时想到了JNDI(Java Naming and Directory Interface, Java命名和目录接口). 默认通过Database URL来

润乾集算报表的集算器数据集部署(I)

润乾集算报表提供了集算器数据集,允许用户使用集算器脚本完成数据的进一步计算和加工,为报表提供数据源支持,从而简化报表开发,提升报表性能. 集算器脚本的编辑需要借助第三方集算编辑器(非报表工具)完成,而后嵌入到报表工具和报表应用中完成报表开发和部署. 下面来看一下集算器数据集的使用和以及报表部署过程. 1.开发环境使用 集算报表使用集算器数据集时,首先需要设置集算器授权信息和配置数据源连接(如果需要从数据库中取数). 1.1.设置授权信息 启动集算报表设计器,选择工具-选项,切换到"集算器选项&q

java pojo实体类做birt报表数据源

环境要求:到http://www.eclipse.org/downloads/下载 Eclipse IDE for Java and Report Developers 工具 第一步:创建一java项目ReportJava:第二步:创建包yss.com并编写一实体类User 作为报表中的数据对象 package com.yss; public class User {     private String name;     private String phone;     private S