繁体   English   中英

Crystal报表中的条件运行总计

[英]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 )中的所有正值相加 这个怎么样:

  1. 使RT_Neg总计运行。 要汇总的字段下 ,对您的{Tbl1}。{Amount}求和。 在评估下,输入“ {Tbl1}。{金额} <0”作为您的自定义公式。 永远不要重置。

  2. 使RT_Pos总计运行。 要汇总的字段下 ,对您的{Tbl1}。{Amount}求和。 在评估下,输入“ {Tbl1}。{金额}> 0”作为您的自定义公式。 永远不要重置。

  3. 将两个运行总计插入组页脚中(如果将它们放在页眉中,则可能无法正确求和)

或者,您可以:

  1. 编写一个自定义公式“如果{Tbl1}。{Amount} <0,然后{Tbl1}。{Amount} else 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM