SUM仍包含抑制值

时间:2010-08-03 16:55:34

标签: crystal-reports report sum

我有一份报告,其中包含一些有限的重复信息,可能有多个日期,但我希望美元值只显示在第一项上。

IE:

  

项目1 - 2010年8月3日 - 成本$ 1000
  第1项 - 2010年8月4日 - (成本受到抑制)
  第2项 - 2010年8月3日 - 100美元   第3项 - 2010年8月4日 - $ 200

总结时,它应显示为$ 1,300,但显示为$ 2,300。

我通过使用公式来抑制成本部分:

(
if (Previous({MyReportData;1.MyItemId}) = {MyReportData;1.MyItemId}) then
    true
else
    false
)

这个公式很好。

我尝试创建一个公式来执行自定义SUM,它将排除重复的项目,但它会一直说“此字段无法汇总。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您有两个选择

  1. 修改SQL以仅引入所需的数据。你显然不想要2010年8月4日这一行。所以不要把它带到报告中。然后您的摘要将按预期工作。

  2. 创建一个运行总计,并使用与抑制公式相反的方法评估行的更改。

答案 1 :(得分:0)

另一种选择是使用全局变量来使用您用来抑制的逆条件来跟踪总和。与使用Crystal的Running Totals或Summary字段相比,这在性能方面应该更好。

虽然,我认为使用SQL Expression只需按ItemID选择具有最早日期的行会更快,并且会避免Crystal不得不通过数据。

相关问题