0

tl; dr:是否可以在子报表中设置分组级别,它的数据完全来自主报表?我需要生成一个报告,该报告采用一组数据并显示四个或更多不同的数据汇总/计算。

==================================================== ================================

在每个子报表中进行单独的存储过程调用很容易。但是由于很多数据对于所有子报表都是通用的,所以我想避免重复从 SQL Server 获取相同数据的性能成本。

我想一次从单个存储过程中获取所有原始数据,并将该数据链接到单个 .RPT 文件中的各种子报表。到目前为止,我似乎无法在不调用存储过程的子报表中使用 Group Expert——没有显示报表字段可供选择进行分组。

子报表可以描述为成本汇总,计算方式如下:所有月份的汇总、仅当月的细分、每人/月的计算平均值以及当月计划的多个成本细分。

对于第一个子报表,我可以通过链接主报表中的所需字段和参数来获取所需的数据作为参数。我需要将其分组以按特定日期列的月份对这些数据进行分组,每月一行,最后是总计。但是,如果我单击该子报表中的 Group Expert,则没有可供我分组依据的报表字段。

由于所有计算都涉及一组数据,因此我想从单个存储的 proc 调用中获取该组,并让 Crystal 执行各种计算。

这是否可以在 Crystal Reports XI 中完成,无论是否包含子报表,而无需多次调用多次返回相同数据的数据库?

4

1 回答 1

0

最终我放弃了最初的要求。这是我作为 B 计划实施的。

我在 SQL Server 中创建了一个新表来保存此报告所需的所有详细级别数据。与报表关联的主存储过程 1) 根据给定参数从表中删除旧数据,2) 插入所有必要的数据,以及 3) 仅返回第一个和最外层汇总报表所需的数据。

我有水晶使用组页眉和页脚,结合摘要和运行总计,以两种不同的方式计算我想要的总计。然后,我添加了两个子报表,用于我想做的更复杂的分组、汇总和过滤。

这些子报表中的每一个都调用自己的存储过程,该过程会查询我为该特定子报表创建的新表中的必要数据列。同样,我使用组页眉和页脚并抑制详细信息部分,以按组获取每个子报表中我想要的摘要。

它不像我最初想象的那样优雅,但最终它满足了我们的需求。

于 2011-11-18T15:31:22.287 回答