Crystal Reports - 在数组中运行总计

时间:2013-10-24 18:42:28

标签: crystal-reports

我认为数组可以通过项目' ...

解决摘要字段的问题

来源数据:

"活动1"

"活动2"

"活动3"

这些实例的多个实例会出现不同的区域(Group1)和不同的日期(Group2),所以在我报告的任何一天:

第1天

"活动1" - 2次出现

"活动3" - 3次出现

第2天

"活动1" - 5次出现

"活动3" - 7次出现

总计足够容易,按日记录,但现在我想在报告结尾处为每个特定事件类型包含总计。想一想如果我创建一个数组来计算每次事件记录每次事件的数量,就可以在报告结束时以累积的方式将它们排出。

EventArray with key" Event 1"增加每次记录是"事件1" EventArray with key" Event 2"每次记录的增量为"事件2"

等等......

不知道放在哪里;如何编码...必须是下面的一些变化,但不太确定:

//Build
WhileReadingRecords;
Local StringVar Key := "" & {Customer.EventType};
Local NumberVar Amt := "Count of Event Types";
StringVar array Keys;
NumberVar Array Amts;
if not(Key in Keys) then
( redim preserve Keys [count(Keys)+1];
redim preserve Amts[count(Keys)+1];
Keys[count(Keys)]:= Key;
Amts[count(Keys)]:= Amt );
Amts [1]

在像perl这样的东西中,使用哈希很容易,但不知道在Crystal中如何/在哪里做它。

最后,我猜这个数组看起来像是:

ArrayName ["事件1"] = 17或多次记录有"事件1"在Customer.EventType字段中

ArrayName ["事件2"] = 18或多次记录有"事件2"在Customer.EventType字段中

我不知道......

1 个答案:

答案 0 :(得分:0)

你可以通过为if Customer.EventType = Event1 then 1 else 0之类的每个事件创建单独的公式来做一个非常简单的解决方案。把它们放在适当的部分并压制。然后在相应的部分中添加摘要并总计每个公式。如果你有数百个活动,那当然会有太多的工作。然后阵列将是更好的方式。如果您需要做阵列,请告诉我,我很乐意为您提供帮助。

干杯,

克里斯