0

当我使用以下表达式运行 SSRS 报告时,我收到一条错误消息:参数数量错误。我在 ).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"))

        )

  )
4

2 回答 2

1

特定的错误可能是因为您应该执行 IsNaN(Value) 而不是 Value.IsNaN 但以防万一您尝试使用 Iif() 来防止除以零错误,我会给您一个奖励提示。

这样做...

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

...当 CouldBeZero = 0 时总是会抛出错误,因为首先计算除法并将结果传递给 Iif() 函数。

而是这样做...

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

...以确保除法有效并显示零。

于 2010-06-22T19:53:51.523 回答
0

而不是以前有那么大的复杂值.IsNAN,只需使用Single.IsNAN

于 2012-12-11T15:18:33.110 回答