0

我有一份报告,其中显示了五个不同的活动代码。我想总结所有类似的代码,并将 5 个活动代码中的每一个放在一个组页脚中。我让它适用于一个活动代码,但想编写一个公式来查找所有五个并总计。这就是我所拥有的:

(如果 {@activitycode_id}= "Not Ready" 那么 {iActivityCodeStat.ActivityTime}else 0)

在一个公式中添加额外的 if 的正确语法是什么?然后最好的方法来总计每个?

谢谢!

4

2 回答 2

0

如果 if-then-else 语句的地方,请尝试 select-case 结构。

Select {@activitycode_id}

Case "Not Ready": {iActivityCodeStat.ActivityTime}
Case "Sleeping": {iActivityCodeStat.ActivityTime}
//else
Default: 0

如果您尝试单独汇总每个活动代码,您可以插入一个交叉表。

如果您想要比 CrossTab 更大的灵活性,则需要有一个公式字段来隔离每个活动代码,以便可以单独汇总。例如:

//{@Not Ready}
If {@activitycode_id}= "Not Ready" Then {iActivityCodeStat.ActivityTime} Else 0

//{@Sleeping}
If {@activitycode_id}= "Sleeping" Then {iActivityCodeStat.ActivityTime} Else 0
于 2010-04-02T12:35:51.843 回答
0

我会这样做的两种方法是使用 switch 语句或使用运行总计。

在这种情况下,您指定如果活动代码为“未就绪”,则使用 ActivityTime,如果您添加到此,它将其他值集中到此公式字段中。也就是说,我认为这不是您要使用的方法。

对于您想要的,我认为您更适合基于 {iActivityCodeStat.ActivityTime}“评估”部分创建一个运行总计字段,您应该为每个状态使用一个公式,例如:

{@activitycode_id}= "Not Ready"

然后,当您将这些公式字段中的每一个放在组页脚中时,您将看到活动代码为“未准备好”的那个部分的总数。不要忘记将运行总计设置中的“重置”部分设置为“组更改时”并选择该字段所在的组,以便您为每个部分获得不同的值,而不是运行总计所有部分。

希望这可以帮助。

于 2010-04-01T20:37:56.147 回答