[英]Conditional Running Total in Crystal Reports
使用VS 2008 Crystal Reports,我希望对根据组更改计算的公式进行总计。 当我单击添加运行总计时,此公式不会出现在“可用表和字段”列表中。
这是逻辑:
关于组的变更组
if CalculatedValue > 0 then
ReportRunningTotal1 += CalculatedValue
else
ReportRunningTotal2 += CalculatedValue
我可以在总计中指定一个条件吗? 如果没有,我还能怎么做?
更多信息:我正在对数据库字段BillableHours
的值进行一个名为GroupRunningTotal
的运行总计。 在更改组时,我正在将GroupRunningTotal
与该组MaxHours
的db字段进行MaxHours
,并在组级别显示MaxHours - GroupRunningTotal
的结果。
今天是适当的-就像选举学院一样-赢得选举的人并不取决于总投票数,而是取决于选举学院的选票数。
我将您的问题解释为意味着您要将一个运行总计( RT_Neg )中的所有负值与另一个运行总计( RT_Pos )中的所有正值相加 。 这个怎么样:
使RT_Neg总计运行。 在要汇总的字段下 ,对您的{Tbl1}。{Amount}求和。 在评估下,输入“ {Tbl1}。{金额} <0”作为您的自定义公式。 永远不要重置。
使RT_Pos总计运行。 在要汇总的字段下 ,对您的{Tbl1}。{Amount}求和。 在评估下,输入“ {Tbl1}。{金额}> 0”作为您的自定义公式。 永远不要重置。
将两个运行总计插入组页脚中(如果将它们放在页眉中,则可能无法正确求和)
或者,您可以:
我认为这两个选项之一可以帮助您实现目标。
您很可能无法将一个RT字段用作其他RT字段的条件。 您可以使用公式,将其放在组页脚上并评估为“ whileprintingrecords()”; 在这些公式中,您可以分配/求和一些变量,并在报表末尾显示这些变量。 关于下一个(仅通用概念,还需要初始化和显示例程):
numbervar rtcurrent := sum({somefield}, {groupfield});
numbervar rtplus;
numbervar rtminus;
if (rtcurrent > 0)
then rtplus := rtplus + rtcurrent
else rtminus := rtminus + rtcurrent;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.