2013-03-01 8 views
2

Я использую SSRS для MS-SQL 2008 R2. У меня есть столбец данных, в котором будут отображаться Active Staff, Inactive Staff или Null. Я хочу изменить цвет текста в столбце на красный, если это неактивный штат или нуль. Я также хочу изменить Null, чтобы отобразить «No Staff» в столбце. Я могу получить тот или иной красный, но не оба, и в настоящее время у меня есть неактивный персонал.ssrs динамический цвет текста

двух выражений я использую для создания колонки является: Тюлевая Значение:

=IIF(IsNothing(Fields!StaffName.Value), 
     "No Staff", 
     Fields!StaffName.Value) 

Для цвета:

=IIF(Fields!StaffName.Value.ToString().Contains("Inactive"), "Red", 
IIF(ISNothing(Fields!StaffName.Value), "Red", 
"Black" 
)) 
+1

Помните, что чувствительность к регистру –

ответ

2

Я сделал несколько предположений о наборе данных и создать простой пример.

Dataset:

select StaffName = 'Staff 1' 
union all select StaffName = 'Staff 2 (Inactive)' 
union all select StaffName = null 

Выражение Text Box, точно так же, как ваша:

=IIf(IsNothing(Fields!StaffName.Value), "No Staff", Fields!StaffName.Value) 

Выражение Text BoxЦвет свойство:

=IIf(InStr(Fields!StaffName.Value, "Inactive") > 0 or IsNothing(Fields!StaffName.Value) 
    , "Red" 
    , "Black") 

Конечный результат:

enter image description here

@Preet Sangha сделал хорошую точку в своем комментарии, тоже, так что вам может понадобиться, чтобы иметь чувствительность к регистру в виду.

+0

Помните, что SSRS также используется для других источников данных, таких как SSAS, поэтому не всегда уверен, что SQL является языком запросов. Но я согласен, что иногда проще манипулировать запросом или его полями), чем выражения в отчете. Это настоящая красота SSRS - уровень предлагаемой настройки. –

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