Проблема форматирования валюты SSRS с использованием условия IIF - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть столбец в отчете SSRS, который должен отображаться в формате валюты.Данные, возвращаемые из набора данных, имеют строковый тип данных и содержат также дефис ("-").

Я использую выражение ниже.=IIF(Fields!PREMIUM.Value="-","-",CDbl(Fields!PREMIUM.Value))

Мое намерение состоит в том, чтобы, если значение было "-", тогда я игнорирую его, в противном случае преобразую строковое значение в удвоенное значение.

Примечание. Свойства текстового поля уже установлены в формате валюты..

Выражение работает, если есть любое значение, кроме "-"

Это выход.# Ошибка отображается

This is the output. #Error is displayed

1 Ответ

0 голосов
/ 07 февраля 2019

Как вы сказали, проблема связана с тем, когда база данных возвращает черту.Ошибка возникает из-за того, что у SSRS нет способа обрабатывать дефис, когда вы форматируете текстовое поле как валюту.Лучшим решением для этого было бы просто оставить текстовое поле в качестве формата по умолчанию и изменить свое выражение для форматирования значений, если это необходимо.Что-то вроде следующего должно решить проблему.Просто добавьте больше #, если вам нужен более длинный номер.

=IIF(Fields!PREMIUM.Value="-","-",Format(CDbl(Fields!PREMIUM.Value)), "$#######.##")
...