SSRS 2008:iif IsNan语句错误错误参数数量错误

问题描述:

当我使用下面的表达式运行SSRS报告时,出现一个错误消息:错误的参数数量。我发现这个错误是.IsNaN,是我发言的一部分。我不明白我错过了什么。任何人都可以帮忙吗?SSRS 2008:iif IsNan语句错误错误参数数量错误

= IIF(

 (

       (


        (Sum(Fields!UNITS.Value, "SFY2011_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2011_SW_T19")) 

        - (Sum(Fields!UNITS.Value, "SFY2010_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19")) 

      ) 

     /(Sum(Fields!UNITS.Value, "SFY2010_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19")) 

     ).IsNaN, 



     0.00, 



     (

       (

        (Sum(Fields!UNITS.Value, "SFY2011_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2011_SW_T19")) 

        - (Sum(Fields!UNITS.Value, "SFY2010_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19")) 

      ) 

      /(Sum(Fields!UNITS.Value, "SFY2010_SW_T19")/Sum(Fields!DISTINCT_CLIENT_PAY.Value, "SFY2010_SW_T19")) 

     ) 

) 

的特定错误,可能是因为你应该做IsNaN(价值),而不是Value.IsNaN但以防万一你想使用IIF(),以防止被分零差错,我给你奖金,小费。

这样做......

=Iif(CouldBeZero = 0, 0, SomeValue/CouldBeZero) 

...总会抛出时CouldBeZero = 0,因为分裂首先计算,并将结果传递一个错误到Iif()函数。

而是做到这一点...

=Iif(CouldBeZero = 0, 0, SomeValue/Iif(CouldBeZero = 0, 1, CouldBeZero)) 

...以确保该司和零显示。

而不是在.IsNAN之前有这么大的复杂值,只需使用Single.IsNAN