Поле формата SSRS с выражением, основанным на количестве десятичных знаков - PullRequest
0 голосов
/ 02 июля 2018

У меня есть поле в отчете SSRS, которое иногда содержит десятичные разряды. Большую часть времени я хочу отформатировать поле с помощью «n0», чтобы я получал красивую запятую каждые три цифры, но без десятичных разрядов. Однако в тех редких случаях, когда есть десятичные дроби, я хочу отформатировать поле «n4». Как мне написать выражение, чтобы определить, существует ли десятичная дробь?

1 Ответ

0 голосов
/ 03 июля 2018

Наконец-то нашли способ, поместив следующее выражение в свойство Format:

=iif(Int(Fields!QTY.Value) = Fields!QTY.Value, "N0", "N4")

(Примечание. Я нашел страницу MSDN с другим решением той же проблемы. https://social.msdn.microsoft.com/forums/sqlserver/en-US/cb81d817-9840-4b4f-9639-1acd48963ff6/how-do-i-format-decimal-places-to-0-or-2-decimal-places). Это решение отформатировало значение напрямую:

=Replace(Round(Fields!QTY.Value,2),".00","")

Отлично работает для самых разных задач. Тем не менее, для моих целей я использовал форматное выражение, потому что хотел получить остальное форматирование, которое обеспечивают N0 и N4.)

...