主报告中子报告的数量是否有最大或建议的限制?

2020-08-14 08:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 我有一个包含8个子报告的主报告...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个包含8个子报告的主报告。 它需要永远运行!!! 主报告中子报告的数量是否有最大或建议的限制? 服务器连接超时需要花费很长时间。 我认为使用存储过程可以通过在不走运的情况下对记录进行求和来加速记录的过程。 任何建议或评论将不胜感激。

1条回答
吹牛啤
2020-08-14 08:52

使用子报表的挑战在于,子报表的每个实例都是与数据库的新连接和新查询。 因此,例如,如果您有一个包含10个值的单个组的报表,而每个组值具有10个详细值,则下表显示了该部分中仅由单个子报表运行的连接/查询的数量 :

报表标题:1

组标题或页脚:10

详细信息:100

子报表在两次调用之间不保留数据 子报表!

在上面的示例中,如果每种类型的节中都有一个子报表,则您的报表将运行112个查询-一个用于主报表,一个用于子报表111。

还有很多因素也会影响查询速度。 以下所有原因导致Crystal将更多数据拉入内存并进行过滤,而不是在查询的Where子句中将过滤器传递给数据库:

  • 使用Select Expert进行过滤 存储过程或命令的数据。
  • 在Select Expert中使用Crystal函数或公式(IsNull()和CurrentDate之类的东西除外。)
  • 您已经发现,让Crystal进行汇总而不是由数据库来进行汇总。

我最好的建议是尽量避免子报表。 就我个人而言,除非我仅使用一个或两个表,否则我通常会编写报告命令,因为我有足够的SQL经验,通常不难通过单个查询以所需的格式获取所需的数据。/p>

如果您想了解有关使用Commands的更多信息,或者希望我查看您的报告并提出建议,请告诉我。

-Dell

一周热门 更多>