0

これは私の声明です:

iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))

助言がありますか?

4

1 に答える 1

1

True として評価されている可能性があります。他のコメントで述べたように、 Iif() はテストの結果に関係なくすべてのパラメーター式を評価するため、とにかくエラーが発生します。

このエラーは、除数に別の Iif() を追加することで回避できます。

iif(
    sum(Fields!myfield1.Value) = 0,
    0,
    sum(Fields!myField2.Value) / iif(
                                     sum(Fields!myfield1.Value) = 0,
                                     1,
                                     sum(Fields!myField1.Value)
                                 )
)

myfield1 がゼロで、エラーがスローされない場合はゼロになります。

(ただし、除数がゼロの場合は、おそらく「N/A」または空の文字列を表示する必要があります。)

于 2010-05-14T19:43:07.643 に答える