这是我的声明:
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' 或只显示一个空字符串。)