2010-11-30 121 views
0

我正在用SQL服务器在vb.net开发一个工资项目,在这里我使用SEAGATE水晶报表进行报表,如果我在单个报表天气中使用超过10个子报表,它会影响我的项目效率,或者它会花费更多时间crystal report&sub report

回答

1

是的,实际上可能需要更多时间才能运行10个不同的查询,并且报告工具可能不得不链接所有这些查询的结果。

我已经写了3或4个子报告的报告,但通常更多是不必要的。我会尝试为许多子报表想一个解决方法 - 通常有一种方法。 (例如,使用列作为显示/隐藏或分组数据的切换。)

0

实际上很难说,子报表如何影响性能。我设计了报告,在那里使用子报表使得整个报表运行得更快 - 有时,构建底层查询比许多更简单的子报表查询更加高效并不容易。

一个例子是ABAC类型的报表,其中从主表/查询(A)到子表/查询(B,C)有许多一对多关系,并且用户想要一次查看所有BC类型数据(不按需求)。对于单个查询,它将是A * B * C行来处理(并实现讨厌的逻辑来显示隐藏部分),使用子报表可以处理A *(B + C)总行来处理和显示。

但是,当您使用子报表仅显示一些总值时,通常将其聚集在主视图中效率更高 - 在服务器和传输数据时都需要更少的时间。与查询执行时间相比,Crystal Reports格式化时间通常可以忽略不计。

与往常一样,最佳策略取决于特定的报告需求。