Crystal reports 使用多个子报表减少运行时

Crystal reports 使用多个子报表减少运行时,crystal-reports,Crystal Reports,我正在使用Crystal Reports 2016 SP2,并为我的主报告编写查询(命令),该报告包含有关物业的基本信息。它有一个参数,一个帐号 然后,我在主报告的不同位置放置了11个子报告。一个在报告标题中,3个在细节a中,2个在细节b中,4个在细节c中,一个在细节d中。主报告包含有关一块地产的信息。子报告基于同一参数(帐号)列出详细信息(一对多) 我可以在主报告的account number字段上链接子报告,但由于有11个子报告,因此报告会读取各个表中的所有记录,然后在读取所有记录后应用过滤

我正在使用Crystal Reports 2016 SP2,并为我的主报告编写查询(命令),该报告包含有关物业的基本信息。它有一个参数,一个帐号

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

我可以在主报告的account number字段上链接子报告,但由于有11个子报告,因此报告会读取各个表中的所有记录,然后在读取所有记录后应用过滤参数。有数百万条记录,在DB(SQL SERVER 2008 R2)上有11次传递,返回一个属性的报告需要一分钟以上的时间


我尝试在编辑命令中为每个子报表添加一个参数。这将运行得很快,因为它在读取所有记录之前应用了帐号过滤器。但是,对于相同的参数,我会被提示12次。如何减少运行时间?

子报表中的参数字段应该尽量少用,如果有的话,原因您已经发现了。如果所有子报表中的参数字段都相同,我建议您让用户仅在主报表中输入参数,然后编辑子报表的链接以包含主报表中的参数。这将允许您有效地使用主报表中的参数字段来过滤每个子报表的数据库结果,而不必收集每个子报表上的参数字段作为用户输入