在Crystal Report中,仅打印组中的第一条记录并将其保留为可累加

时间:2012-08-28 12:11:17

标签: sql crystal-reports

我有一张表,列出了操作员在一天内完成的每项任务。这是由车间控制程序收集的。还有一个列有当天工作的总小时数,这个字段来自他们的时间段。该表看起来像这样:

Operator 1   Bestupid        0.5    8      5/12/1986

Operator 1   BeProductive    0.1    8      5/12/1986

Operator 1   Bestupidagain   3.2    8      5/12/1986

Operator 1   Belazy          0.7    8      5/13/1986

Operator 2   BetheBest       1.7    9.25   5/12/1986

我试图通过总结过程时间并将其与工作小时数进行比较来提高效率。问题是,当我在工时小时栏上做任何类型的摘要时,它总结了每个细节线。

我试过了:

If Previous (groupingfield) = (groupingfield) Then 
    HoursWorked = 0
Else
    HoursWorked = HoursWorked

我已经尝试了一个全局三个公式技巧,但上述两个都没有给我一个可累加的字段,我得到“已在非重复字段中指定了摘要”

我目前使用全局变量,在组头中重置,但不是WhilePrintinganything。然而,它缺少一些记录,有时我会得到两个小时的工作> 0在同一组:(

有什么想法吗?

我只是想澄清一下,我有三个小组:

群组:工作中心 - >运营商 - >日期

我可以总结任何一组的过程时间,这很好。但是,工作时间打印在每个细节线上,即使它实际上每个日期只打印一次。因此,当我总结一个操作员的工作小时数时总计是关闭的,因为它每个条目加起来8小时而不是每天8小时。

1 个答案:

答案 0 :(得分:0)

尝试由运营商进行分组。然后为每个记录的总和创建一个运行总计,并在组更改时重置。在组页脚中,您可以显示您关注的运算符的运行总计和任何其他统计信息。

尝试每日小时的另一个运行总计,但选择最大值作为摘要类型。由于当天的所有记录都具有相同的工作时间,因此最大值将是正确的。通过更改日期组重置,你应该好好去。