报表组间共享数据集
一.背景描述
报表组将联系紧密的各个报表整合成为一个组,然后就可以像操作单张报表一样简单的对报表组中的所有报表一同进行操作和处理。
报表组中的报表不仅可以同时进行打印出来,还可以共享数据集,这样对于关系紧密的报表组来说,在效率上一定程度上有所优化。
二.具体实现
下面是报表组共享数据集的小例
1. 新建一个报表组,添加两个报表,一个订单表,一个订单明细表,这两个报表都用到的共同的数据表,在多个数据集中引用时,报表在计算时会重复检索,我们将这两个报表的数据集整合为下面的形式:
SELECT * FROM 订单,订单明细,雇员,客户,产品 WHERE 订单.订单ID = 订单明细.订单ID AND 订单.订单ID =${macro1} AND 订单.雇员ID = 雇员.雇员ID AND 订单.客户ID = 客户.客户ID AND 订单明细.产品ID = 产品.产品ID
两个报表都设置成该数据集,能正常预览。
2. 在报表组中添加一个作为报表共用的数据集,SQL就是上面整合后的SQL语句。
3. 分别删除两个报表中的数据集,发布报表组,效果如下图所示。
我们知道,只有报表中定义了相应的数据的报表,才能在单元格中进行引用,如果没有定义引用后,在预览、发布报表都是会报错的,现在访问报表组时这两个报表都能正常查询出数据,没有报错,也就是我们已经成功的实现了报表组之间的报表共享数据集了。
三.实例总结
报表组共享数据集设置很简单,不过需要您的report4.jar是较新的,那么您只需在报表组中设定需要共享的数据集,不需要再对报表组中的报填报表单独设定数据集,就能带走您在报表组中重复定义相同的数据集的烦恼。