我认为数组可以“按项目”解决汇总字段的问题......
源数据:
“事件一”
“事件 2”
“事件三”
这些实例的多个实例发生在不同的区域(Group1)和不同的日期(Group2),所以在任何一天我都会报告:
第 1 天
“事件 1” - 2 次出现
“事件 3” - 3 次出现
第 2 天
“事件 1” - 5 次出现
“事件 3” - 发生 7 次
很容易总计,按天跟踪,但现在我想在报告末尾包含每个特定事件类型的总计。想想如果我创建一个数组来计算每个事件的每次记录命中,就可以在报告结束时以累积的方式将它们吐出来。
EventArray 键为“Event 1”,每次记录增量为“Event 1” EventArray 键为“Event 2”,每次记录增量为“Event 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["Event 1"] = 17 或者很多次记录在字段 Customer.EventType 中有“Event 1”
ArrayName["Event 2"] = 18 或多次记录在字段 Customer.EventType 中有“事件 2”
我不知道...