0

希望我可能有最简单的问题要回答,但到目前为止我无法弄清楚。我有一个带有以下表达式的 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”。

我在这里做错了什么?

提前致谢!

4

2 回答 2

1

有一个众所周知的问题是 ssrs 计算“iif”的两个表达式。这就是为什么在尝试除以 0 时会出现错误的原因。

看看以下链接:

于 2014-07-10T08:40:00.107 回答
0

而不是在 SSRS 中编写表达式。我们可以在您的报告代码中添加一个处理除以零条件的函数,这使得在多个单元格中实现起来更容易(代码可重用性),

Public Function Divider (ByVal Dividend As Double, ByVal Divisor As Double)
If IsNothing(Divisor) Or Divisor = 0
Return 0
Else
Return Dividend/Divisor
End If
End Function

我们可以在单元格中调用此代码,如下所示,

=Code.Divider(字段!Dividend.Value,字段!Divisor.Value)

谢谢文

于 2014-07-10T13:52:20.407 回答