Reporting services SSRS使用一个数据集输出报表的多个实例,在文档级别进行迭代

Reporting services SSRS使用一个数据集输出报表的多个实例,在文档级别进行迭代,reporting-services,Reporting Services,我有一个流程,可以输出同一报告的多个实例。比如说装箱单之类的东西。现在它相对比较慢,因为每个迭代都完成了整个过程。创建调用ssrs报告的数据,将其输出,清理报告实例和数据,然后重新启动。它有很多开销和不必要的重复 我的想法是预先创建所有数据,并向数据集中添加文档编号,以便区分文档。并调用ssrs报告1次,输出1个大文档中包含的所有文档。因此,所有文档都以各自的页眉和页脚分开,但都是在一个go和一个文件中创建的 我要寻找的是在文档级别进行迭代 SSR有可能做到这一点吗 我一直在谷歌上搜索,这是我

我有一个流程,可以输出同一报告的多个实例。比如说装箱单之类的东西。现在它相对比较慢,因为每个迭代都完成了整个过程。创建调用ssrs报告的数据,将其输出,清理报告实例和数据,然后重新启动。它有很多开销和不必要的重复

我的想法是预先创建所有数据,并向数据集中添加文档编号,以便区分文档。并调用ssrs报告1次,输出1个大文档中包含的所有文档。因此,所有文档都以各自的页眉和页脚分开,但都是在一个go和一个文件中创建的

我要寻找的是在文档级别进行迭代

SSR有可能做到这一点吗



我一直在谷歌上搜索,这是我可以用子报告解决的问题吗

是的,你可以用SSR来做这件事。我通常使用这种报告样式的方法是首先创建一个包含单个单元格的表。设置要按文档ID分组的行。将组设置为实例之间的分页符。现在在单元格内放置一个大矩形。将每个页面上希望包含的所有元素放置在矩形内。请注意,您不会使用实际的页眉和页脚,只使用文本框、表格等。不需要子报表


现在,当您运行报表时,每页将获得整个布局的一个副本,并且每页都会自然地过滤到包含的文档ID。由于您让报表为您分割数据,因此您可以让数据集成为一个大查询,而不是许多小查询。这将极大地提高您的效率。

您可以使用子报表,但这样做是成功的;因为子报表每次都必须运行查询,所以无法真正解决您的问题。您最好按照某种唯一标识符(文档ID/编号?)对主报表进行分组,并在组的每个实例之间设置分页符。这样查询只会执行一次。谢谢你的建议,我会研究它的。如果子报表对数据库进行多个查询,这实际上不是问题。只要调用的应用程序没有负载,并且用户可以自由使用。整个目标是移动并减少用户应用程序和MSSQL/SSRS服务器的负载。