user3306489
user3306489

Reputation: 157

SSRS report group parameter expression causing divide error

I have a report that uses an expression to sort a group but when choosing one value from the parameter it returns an "The sort expression for the grouping 'grp' contains an error: Attempted to divide by zero."

The expression being used is below;

=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"))

Any thoughts amendments appreciated.

Thanks

Upvotes: 0

Views: 348

Answers (2)

AnkUser
AnkUser

Reputation: 5531

How about you simple check if your Sum(Fields!RentDue.Value,"grp") returns 0 or null, if it does you do not need to divide Sum(Fields!RentCollected.Value,"grp")/Sum(Fields!RentDue.Value,"grp") else just divide.

I have updated expression below.

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

Upvotes: 0

SuperSimmer 44
SuperSimmer 44

Reputation: 999

Add a function to your report code to handle divide by zero error:

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

Then in your expression call the function:

code.Divider( Sum(Fields!RentCollected.Value,"grp")/Sum(Fields!RentDue.Value,"grp") )

Upvotes: 1

Related Questions