2016-10-07 2 views
0

В моем отчете SSRS я хочу, чтобы текстовое поле PolDiscountPerc из моего запроса делалось пустым, когда PolStockCode в строке пустая или пустая строка, однако если PolStockCode содержит значение, то форматируйте текстовое поле PolDiscountPerc, чтобы отобразить его в процентах.Выражение SSRS IIF

=IIF(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value is "", "",(Format(Fields!PolDiscountPerc.Value, "0.00") & "%")) 

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

ответ

0

is может использоваться только для сравнения по сравнению с nothing. вам необходимо использовать =.

=IIF(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "", "",(Format(Fields!PolDiscountPerc.Value, "0.00") & "%")) 
+0

Я попробовал, что раньше, и это не пустые записи, где PolStockCode пустым. Я забыл упомянуть, что у меня есть родительская группа на PolStockCode, но я не думаю, что это важно. – user1800674

0

Вы можете попробовать его, удалив is к = и сделать выражение одной единицы ().

=IIF 
(
    (IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "") 
    , "" 
    ,(Format(Fields!PolDiscountPerc.Value, "0.00") & "%") 
) 

ИЛИ вы можете форматировать процент наружно:

=IIF 
(
    (IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "") 
    , "" 
    ,Fields!PolDiscountPerc.Value) 
) 

enter image description here

0

Я совсем забыл это NCHAR поле в базе данных, и это не будет пустой строкой.

Поэтому это решить мою проблему

=IIF((IsNothing(Fields!PolPMStockCode.Value) or Len(Trim(Fields!PolPMStockCode.Value)) = 0), "", Fields!PolDiscountPerc.Value) 
Смежные вопросы