SSRS - замена пустого значения в столбце «десятичный» на сообщение «строка»? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть следующая таблица:

item_ID  |  item_Name  |  Amount
---------|-------------|-------
   12    |    apple    |  $1
   13    |    orange   | <null>
   14    |    grapes   |  $2.5

Для значения 'null' для элемента 'orange' я хотел бы заменить его строкой 'N / A', даже если столбец, из которого получены данные, является десятичным. Возможно ли это?

Я попытался вставить выражение для этого столбца следующим образом:

=IIF(IsNothing(Fields!Amount.Value), Sum(Fields!Amount.Value), 'N/A')

Но я получил ошибку, и отчет не удался.

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Вы также можете использовать функцию ISNULL

SELECT cost = ISNULL( TRY_CAST( cost as varchar(50), 'N/A' )
0 голосов
/ 17 сентября 2018

Если вы справитесь с этим на уровне отчета в SSRS, вы получите несколько преимуществ: например, при экспорте данных они будут экспортироваться как числа.

Установите значение текстового поля, которым вы являетесьиспользуя что-то похожее на

=IIF( IsNothing(Fields!Cost.Value ), "N/A",Fields!Cost.Value)
0 голосов
/ 17 сентября 2018

Вот один вариант использования coalesce с cast:

select item_ID, item_Name, coalesce(cast(cost as varchar(100)), 'N/A') as cost
from yourtable;
...