如果值为零,则以下代码将结果显示为Nan%:
=FORMAT(((Sum(IIF(Fields!flag.Value=1,CINT(Fields!area1.Value),0)))
/ (Sum(IIF(Fields!flag.Value=1,CINT(Fields!UnitArea.Value),0))) *100),"N") + "%"
答案 0 :(得分:0)
这里避免零除错误的最简单方法是不首先创建它!如果将除数Iif表达式中的0替换为第二个返回值为1,则问题就会消失。
那说我认为你的整个表达可以做一些简化。如果我正确读取它你想确定UnitArea中area1的比例,但只有当flag的值为1时才能确定表达式。
=Format(
Iif(
Fields!flag.Value = 1,
CInt(Fields!area1.Value) / CInt(Fields!UnitArea.Value),
Nothing
),
"Percent"
)
请注意,我删除了乘数,而是使用格式函数以百分比形式返回除法结果(您还可以通过完全删除格式函数并处理formatting来进一步处理设计师)。
你不必像我一样用缩进来布局表达式,但是表达式构建器忽略了空格,它确实使更大的表达式更容易阅读,所以我认为这是一个很好的习惯。