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

特定のエラーはおそらく、Value.IsNaN の代わりに IsNaN(Value) を実行する必要があるためですが、ゼロ除算エラーを防ぐために 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 に答える