通过许多子报告减少运行时间

时间:2018-11-08 21:39:24

标签: crystal-reports

我正在使用Crystal Reports 2016 SP2,并为我的主报表编写查询(命令),其中包含有关属性的基本信息。它有1个参数,一个帐号。

然后,我在主报表的不同位置放置了11个子报表。一个在报告标题中,三个在详细信息a中,2在详细信息b中,4在详细信息c中,一个在详细信息d中。主报告包含有关一块财产的信息。子报表基于相同的参数(帐号)列出详细信息(一对多)。

我可以在主报表的帐号字段上链接子报表,但是由于有11个子报表,因此该报表读取了各个表中的所有记录,然后在全部读取之后应用过滤参数。拥有数百万条记录,并且在数据库(SQL SERVER 2008 R2)上传递了11条记录,因此花一分钟的时间才能返回有关一个属性的报告。

我尝试在每个子报表的“编辑命令”中添加一个参数。这将快速运行,因为它在读取所有记录之前应用了帐号筛选器。但是随后我被提示12次输入相同的参数。如何减少运行时间?

1 个答案:

答案 0 :(得分:1)

出于您已经发现的原因,应该尽量少使用子报表中的

参数字段。如果所有子报表中的参数字段都相同,我建议您让用户仅在主报表中输入参数,然后编辑到子报表的链接以包含主报表中的参数。这样一来,您就可以有效地使用主报表中的参数字段来过滤每个子报表的数据库结果,而不必在每个子报表上收集参数字段作为用户输入。