Crystal reports 总和仍然包括被抑制的值
我有一个报告,其中包含一些有限的重复信息,可能有多个日期,但我希望美元值仅显示在第一项上 即: 第1项-2010年8月3日-费用为1000美元Crystal reports 总和仍然包括被抑制的值,crystal-reports,report,sum,Crystal Reports,Report,Sum,我有一个报告,其中包含一些有限的重复信息,可能有多个日期,但我希望美元值仅显示在第一项上 即: 第1项-2010年8月3日-费用为1000美元 项目1-2010年8月4日(成本抑制) 项目2-2010年8月3日-100美元 项目3-2010年8月4日-200美元 合计后,它应该显示为$1300,但相反,它显示为$2300 我通过使用公式抑制了成本部分: ( if (Previous({MyReportData;1.MyItemId}) = {MyReportData;1.MyItemId}) t
项目1-2010年8月4日(成本抑制)
项目2-2010年8月3日-100美元
项目3-2010年8月4日-200美元 合计后,它应该显示为$1300,但相反,它显示为$2300 我通过使用公式抑制了成本部分:
(
if (Previous({MyReportData;1.MyItemId}) = {MyReportData;1.MyItemId}) then
true
else
false
)
这个配方很好用
我曾尝试创建一个公式来执行自定义求和,该公式将排除重复项,但它一直说“此字段无法汇总”
有什么想法吗?你有两个选择
另一种选择是只使用全局变量,使用用于抑制的反向条件跟踪求和。从性能角度看,这应该比使用Crystal的运行总计或摘要字段更好
尽管如此,我还是认为使用SQL表达式通过ItemID简单地选择日期最早的行会更快,并且可以避免Crystal必须快速浏览数据。re#1,实际上我需要显示其他数据(它比日期更复杂).我使用了选项2,效果很好,只是添加了跑步总数,在场地变化时加上“评估”“然后显示在“组”部分。非常感谢。我现在会更深入地研究水晶的这一领域Nathan Koop。。。在Crystal报表中,运行总计计算不是非常有效。如果可能,请在SQL查询中处理计算。最简单的解释是“报表的威力和速度不是Crystal report,而是用于生成数据集的SQL查询”。Crystal Reports可以做很多很酷的事情,但是如果您能够在服务器(SQL server、Oracle)上处理更多的事情,那么报告的运行速度就会更快。通常,我采取的方法是将数据集展平到只需要的数据,然后让报表处理格式。我很少使用水晶公式