これは私の声明です:
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
助言がありますか?
これは私の声明です:
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
助言がありますか?
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」または空の文字列を表示する必要があります。)