首页 > 解决方案 > Birt:防止重复数据集执行在报告中的多个表中使用

问题描述

我有一个包含 3 个表的 Birt 报告,每个表都呈现单个“数据集”的不同摘要。不幸的是,Birt 生成了 3 次“数据集”。无论如何说服BIRT重用“数据集”而不是为报告中的每个表重新生成数据集。

DataSet 是使用 Java 事件处理程序类实现的脚本化数据集。并且没有配置任何参数或过滤器。

这个问题对于这个报告很重要,因为“数据集”可以包含超过 100 万行。I 这意味着报表收集数据的时间是应有的时间的 3 倍。

我希望该解决方案还可以减少当前为 1.6GB 的预渲染“rptdocument”(预渲染文档)的大小。

我希望解决方案不需要我根据报表执行上下文手动缓存数据集的行。

标签: datasetbirtmultiple-tables

解决方案


您可以将数据集添加到报告顶部的网格中,您必须为该网格提供唯一的元素名称

对于您的三个表,您可以在 Propert Editor -> Binding from Data:(数据集)中切换到 Report Item(选择网格的唯一 elmenet 名称)

进行此更改后,数据集仅执行一次并在所有三个表中重复使用


推荐阅读