条件が正しいときに私のIIFステートメントが真でないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/2822233

質問

これが私の声明です:

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

助言がありますか?

役に立ちましたか?

解決

おそらくそれ 真実として評価する。他のコメントで述べたように、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」または空の文字列を表示する必要があります。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top