2015-12-16 3 views
0

Мне пришлось отображать одно значение на основе выражения, т.е. Если значение столбца = 1 Печать Y, если значение = 0 print N, если значение = '' print N и значение = NULL print N на колонку.Обработка значений для отображения в SSRS

Я попытался ниже код

=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))

Но это не работает для NULL значений и пустых значений в столбце.

Заранее спасибо ... !!

+0

Каков ваш набор данных, строки или целые числа? Можете ли вы поделиться примером набора данных, так как я не могу воссоздать проблему - ваше выражение выше отлично работает для целых чисел (и нулей). – Jonnus

+0

Возвращает целые числа. Мой столбец возвращает значения 0,1, но в некоторых случаях столбец пуст. Для значения 1 я хочу показать «Y» для 0 «N», а для NULL или пробела я хочу отобразить «N» – user2728106

+0

Почему он «не работает» для нулевого или пустого. Что он делает вместо этого? – Jonnus

ответ

0

Ваша проблема связана с тем, что SSRS оценивает все потенциальные пути выражения перед его выполнением. Поэтому, когда он пытается сравнить '' к целому числу 1 он терпит неудачу, сообщая о #Error

Для защиты от этого вы можете обернуть ваши поля в ПРМ (Преобразовать в строку), давая выражение:

=IIF(IsNothing(Fields!MyColumnName.Value), 
    "N", 
    IIF(CStr(Fields!MyColumnName.Value)=CStr(1), 
     "Y", 
     "N" 
    ) 
) 

Приведенный ниже пример показывает значение для myColumnName, результат с текущим выражением, описание значения, которое он оценивает, а затем результат приведенного выше выражения в последнем столбце

enter image description here

Надеюсь, это поможет вам. Дайте мне знать, если вам нужна дополнительная помощь или у вас больше вопросов по этому поводу.

+0

Да Это работает. Спасибо Jonnus. – user2728106

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