希望我可能有最容易回答的问题,但到目前为止,我无法弄明白。我有一个RDLC报告,其中包含以下表达式。
=Iif(Sum(Fields!OriginalTotal.Value) = 0, 0, (Sum(Fields!WorkingTotal.Value) - Sum(Fields!OriginalTotal.Value))/Sum(Fields!OriginalTotal.Value))
请注意,报告中的此字段的格式为百分比,带有两位小数。
问题是Sum(Fields!OriginalTotal.Value)= 0条件为真时,字段在报告上打印为“#Error”。
我在这里做错了什么?
提前致谢!
答案 0 :(得分:1)
有一个众所周知的问题,即ssrs计算" iif"的两个表达式。这就是为什么在尝试除以0时会出现错误的原因。
查看以下链接:
答案 1 :(得分:0)
而不是在SSRS中编写表达式。我们可以在报表代码中添加一个处理除零条件的函数,这样可以更容易在多个单元格中实现(代码可重用性),
公共功能划分器(ByVal Dividend为Double,ByVal Divisor为Double)
如果IsNothing(除数)或除数= 0
返回0
否则
返还红利/除数
结束如果
结束功能
我们可以在单元格中调用此代码,如下所示,
= Code.Divider(Fields!Dividend.Value,Fields!Divisor.Value)
感谢
Venky