这是我的说法:

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