Sql SSRS 2008除以零误差和;“南”;价值
希望能得到一些帮助。我有一份报告显示了4个字段:当前的年初至今销售额、以前的年初至今销售额、2美元之间的差额以及2%之间的差额。我遇到了一个被0除的错误,并且“NaN”的值作为percent字段的值。当我在当前YTD(“OrderInfoConstruction”)中有一个值,但在上一个YTD(“OrderInfoClosedConstruction”)中有一个值时,我得到了被0除的错误,因为我对%字段的表达式是:Sql SSRS 2008除以零误差和;“南”;价值,sql,reporting-services,Sql,Reporting Services,希望能得到一些帮助。我有一份报告显示了4个字段:当前的年初至今销售额、以前的年初至今销售额、2美元之间的差额以及2%之间的差额。我遇到了一个被0除的错误,并且“NaN”的值作为percent字段的值。当我在当前YTD(“OrderInfoConstruction”)中有一个值,但在上一个YTD(“OrderInfoClosedConstruction”)中有一个值时,我得到了被0除的错误,因为我对%字段的表达式是: =(Sum(Fields!PRICE_EXT.Value, "OrderInfo
=(Sum(Fields!PRICE_EXT.Value, "OrderInfoConstruction") -
Sum(Fields!PRICE_EXT.Value, "OrderInfoClosedConstruction")) /
Sum(Fields!PRICE_EXT.Value, "OrderInfoClosedConstruction")
“Sum(Fields!PRICE_EXT.value,“OrderInfoClosedConstruction”)的值是0(以前的YTD值)。对于NaN值问题,它是相同的表达式,但在本例中,当前和以前的YTD值都是0。如果值为0,我怎么能让它不除法来解决被0除的错误,什么是NaN,我怎么能让它只显示出来?”改为0英寸?我已经找到了一些帮助,但不知道如何接受下面的IIF语句,并根据上面的语句进行调整
=IIf(Fields!SomeField.Value = 0, 0, Fields!SomeOtherField.Value / IIf(Fields!SomeField.Value = 0, 1, Fields!SomeField.Value))
提前感谢您的帮助!!!如果您想为
0/0
和#/0
显示0,您只需检查分母值是否为零。基本上IIf(PrevYTD=0,0,(CurrYTD-PrevYTD)/PrevYTD)
,或者使用您的实际字段:
=IIf(Sum(Fields!PRICE_EXT.Value, "OrderInfoClosedConstruction") = 0, 0,
(Sum(Fields!PRICE_EXT.Value, "OrderInfoConstruction") -
Sum(Fields!PRICE_EXT.Value, "OrderInfoClosedConstruction")) /
Sum(Fields!PRICE_EXT.Value, "OrderInfoClosedConstruction"))
另外,NaN代表,并且
0/0
是生成它的一个操作。谢谢!我得到了它,使它不会在语法上抛出错误,但我仍然得到#error作为值,单击预览时如下:“(rsRuntimeErrorInExpression):textrun Textbox 12的值表达式包含一个错误:尝试除以零“?”我实际上创建了这篇文章的第4个答案中提到的公共功能:而且效果很好。:)