Есть ли выражение, которое устранит десятичные разряды и отобразит, если значение равно нулю?SSRS 2012 построитель отчетов 3.0 - PullRequest
0 голосов
/ 06 мая 2019

Я создаю отчет, и данные для этого поля отображаются как «14.00000», и мне нужно, чтобы оно было целым значением «14». Когда я использую функциональность FormatNumber, я получаю сообщение об ошибке, когда в этом блоке нет значения.

=FormatNumber(IIF(Fields!quantity.Value IS Nothing,"", Fields!quantity.Value),0)
=FormatNumber(IIF(Fields!quantity.Value IS "","", Fields!quantity.Value),0)
=IIF(Fields!quantity.Value IS "","", Fields!quantity.Value)

Это выражение работает без ошибки, но оно не форматирует поле до "14".

Я попытался использовать внутреннее ограничение на количество знаков после запятой для поля, и оно, похоже, ничего не делает.

=IIF(Fields!quantity.Value IS "","", Fields!quantity.Value)

отображается пустым, если нет значения, но если есть значение, отображается с "14.0000"

Я бы хотел, чтобы поле отображало только целое число «14», если значение существует, и было бы пустым, если его нет.

Ответы [ 3 ]

0 голосов
/ 06 мая 2019

Вероятно, это можно решить, просто преобразовав значение в целое число. Попробуйте добавить CInt(..) к вашему выражению, как показано ниже:

=IIF(Fields!quantity.Value IS "" OrElse IsNothing(Fields!quantity.Value),"", CInt(Fields!quantity.Value))

Это должно преобразовать все, что осталось в поле quantity, в целое число, которое должно удалить все десятичные дроби и разрешить дальнейшее форматирование, если это необходимо. Я предполагаю, что 14.0000 - это строковый тип данных - SSRS не может форматировать строки с числовым форматированием.

0 голосов
/ 07 мая 2019

Мне удалось получить желаемый результат благодаря встроенному форматированию кода в свойствах отчета.

Функция FormatQuantity (количество AS String) AS String Если (количество ничто), то Ничего не вернуть еще If (IsNumeric (количество)) Тогда Формат возврата (Convert.ToDouble (количество), "###") еще Возвращаемое количество End If End If Конечная функция

0 голосов
/ 06 мая 2019

Вместо использования выражения вы можете просто установить для свойства .Format значение f0, чтобы исключить десятичные разряды и оставить пустым, если значение отсутствует.

...