2017-09-26 57 views
0

第一个问题在这里。Crystal报告公式获得平均最小和最大跑步总数

我的问题是如何获得运行总最小值和运行总最大值的平均值?我想我需要使用公式而不是总计,但我不知道那个公式是什么。

我正在写一篇水晶报告,随着时间的推移发生一件事。每个月按一个月分组的次数发生了多少次。此外,需要多长时间才能发生?平均时间,最短时间,最长时间。

Year  | Month | How Many | Average? (days) | Minimum Time | Maximum Time 

2017 

January | 15  | 5  | 2   | 16   
February | 7  | 4  | 1   | 10  
March | 20  | 6  | 4   | 12  
Average | 14  | 5  | 2.33  | 12.66 

我在月份组中使用运行总数来获取每个月的平均值,最小值和最大值。

但是,当我达到所有组的平均值时,我想要所有最小值的平均值和最大值的平均值。我不希望年份中的最小值为1,我可以使用总计。我想要2.33。水晶不会让我达到总运行总数的平均值。

我希望这是有道理的。在此先感谢您的帮助。

回答

0

我会使用公式字段来创建一个变量来累积值,然后第二个公式字段来计算它累计值的次数。然后你通过柜台累计总数来得到你的平均值。

的蓄电池将是公式...

WhilePrintingRecords; 
Shared Numbervar MinsAccumulator := MinsAccumulator + {#Minimum_Time}; 

的计数器将是公式...

WhilePrintingRecords; 
Shared Numbervar counter = counter + 1; 

请记住不过,如果您使用此节内部是重复的,那么你还需要一个公式字段来将你的变量的值重置为零。这应该是这样的......

WhilePrintingREcords; 
Shared Numbervar counter = 0; 

每个公式字段只需拖放到您希望他们能够评估,然后抑制领域,使他们不显示的部分。然后,您可以创建其他公式字段来显示要在报告中使用的变量的值。这里是显示变量的公式。

Shared Numbervar counter; 
counter; 

如果您不熟悉使用水晶报表变量不仅仅是应对回来,我可以更详细地解释。起初他们可能有点棘手。

+0

非常感谢!我会尽力明天通过这个。我可能会接受你提出的更多问题,但我想先吸收你所说的话。 – Christian

+0

这就像一个魅力! 为Crystal Reports 11声明一个小小的变量是: 'Shared NumberVar' 而不是 'NumberVar Shared' 非常感谢! – Christian

+0

Christian - 感谢您指出变量声明中关键字顺序的语法差异。我完全从内存中编写了这些代码块,并没有在我的语法中发现这个错误。我编辑了答案,以便任何来到这里寻求帮助的人都能得到正确的语法。 –

相关问题