RDLC表达式错误

时间:2014-07-07 08:51:42

标签: rdlc dynamic-rdlc-generation

希望我可能有最容易回答的问题,但到目前为止,我无法弄明白。我有一个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”。

我在这里做错了什么?

提前致谢!

2 个答案:

答案 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