2012-04-25 3 views
1

Я пишу отчет в службах Reporting Services SQL Server 2005, включающий деление денежных значений, которое может быть равно нулю. Я поставил следующий код для проверки нулевой знаменателю:Деление на нулевую ошибку в отчете SSRS

=IIf(Sum(Fields!PreviousPremiumMTD.Value) = 0, "N/A", FormatPercent((Sum(Fields!PremiumMTD.Value)/Sum(Fields!PreviousPremiumMTD.Value))-1, 0)) 

Однако, по какой-то причине я все еще получаю # Ошибка отображения на моем докладе со следующим предупреждением: брошенной

[rsRuntimeErrorInExpression] The Value expression for the textbox ‘textbox62’ contains an error: Attempted to divide by zero.

Любая помощь очень ценится.

+0

ли Вы проверить это? http://www.bennadel.com/blog/984-Using-NULLIF-To-Prevent-Divide-By-Zero-Errors-In-SQL.htm –

+0

@ D3mon-1stVFW Интересная идея, но я не вижу NULLIF в редакторе выражений SSRS. –

ответ

3

IIF оценивает выражение перед передачей его функции, поэтому вы всегда получите ошибку DivideByZero.

См пример сообщения: http://secretgeek.net/iif_function.asp

+0

Большое спасибо! Это очищает мое замешательство. –

Смежные вопросы