希望你的好。 我工作的报告,并似乎得到#ERROR。 好像它是由零错误鸿沟,但我不能制定出一个解决方案。 表达方式:
=( Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value) ) / Sum(Fields!Line_Sell.Value)
我是比较新的RS,但已尝试
ISNULL( )
但没有成功。
任何帮助,我将不胜感激。
谢谢
希望你的好。 我工作的报告,并似乎得到#ERROR。 好像它是由零错误鸿沟,但我不能制定出一个解决方案。 表达方式:
=( Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value) ) / Sum(Fields!Line_Sell.Value)
我是比较新的RS,但已尝试
ISNULL( )
但没有成功。
任何帮助,我将不胜感激。
谢谢
比方说,你必须设置为x / y,其中y具有为零的潜在的表达式。 当你经历过,SSRS将改变这个值来#ERR(或有时NAN)。 你的本能反应将是检验零
=Iif(y = 0, 0, x/y)
不幸的是,这可能会导致一个调试器的警告,说你正试图除以零。 这是因为SSRS试图在编译过程中,以评估整个语句。 因此,我们需要提供SSRS一个值,它可以评估
=x * y ^ -1
这是一样的你的Y值划分,但SSRS认为这是由无限分割,因此可以作出评估。 作为最后一步,你将要确保你的代码可以正确地导出到Excel中。 在2012 SSRS(也可能是过去了,我还没有测试),SSRS具有在可能的零值导出到Excel作为0.000000000000000和数据错误的原因丢失的问题。 为了解决这个问题,我们明确地输出的零值
=Iif(x = 0 OR y = 0, 0, x * y ^ -1)
您的评论表达看起来不完整的,所以我不能告诉你下一步试了一下,没有工作。 你一定要执行分割而之前测试零。
你可以试试这个:
=iif( Sum(Fields!Line_Sell.Value) = 0, 0, (Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value)) / Sum(Fields!Line_Sell.Value))
或检查空值也,你可以试试这个:
=iif( (Sum(Fields!Line_Sell.Value) = 0 or IsNothing(Sum(Fields!Line_Sell.Value)), 0,Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value)) / Sum(Fields!Line_Sell.Value))
如果仍然没有取得成果,打破了表达和运行报告。 尝试总和(领域!Line_Sell.Value)本身运行报告,看看你会得到什么。 为了更有效的创建与领域!Line_Sell.Value一列,另一个领域!Line_Cost.Value表。 在该表中,包括详细信息行,并添加一个总的行,让你得到与每个单独的字段的总和功能。 你需要看一下详细记录,试图推断为什么聚集功能无法正常工作。 底线 - 你分解表达和一块测试片。 答案就在某处。