首页 > 解决方案 > SSRS 报告组参数表达式导致除法错误

问题描述

我有一个使用表达式对组进行排序的报告,但是当从参数中选择一个值时,它返回“用于分组 'grp' 的排序表达式包含错误:试图除以零。”

正在使用的表达式如下;

=Choose(Parameters!sort.Value,
Choose(Parameters!set.Value,Fields!IncomeOfficer.Value,Fields!    ManagementArea.Value,Fields!RentGroup.Value,Fields!Tenure.Value),
-Sum(Fields!RentCollected.Value,"grp"),
Sum(Fields!RentDue.Value,"grp"),
-Sum(Fields!RentCollected.Value,"grp")/Sum(Fields!RentDue.Value,"grp"))

任何想法修改表示赞赏。

谢谢

标签: reporting-servicesexpression

解决方案


在报告代码中添加一个函数来处理除以零错误:

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( Sum(Fields!RentCollected.Value,"grp")/Sum(Fields!RentDue.Value,"grp") )

推荐阅读