Условное форматирование выражения с помощью оператора IIF - SSRS 2008 R2

Я пытаюсь применить форматирование условия к выражению SSRS, которое уже использует оператор IIF, чтобы правильно вернуть его значение. Это возможно?

Выражение:

=SUM(IIf(RIGHT(Fields!Category.Value, 2) = "01", CDBl(Fields!Cost.Value), CDBL(0)))

Приведенный ниже переключатель - это то, что я хотел бы использовать, чтобы применить соответственно красный / зеленый фон в свойстве fill, но я не уверен, как это сделать, потому что мне нужно сначала оценить IIF, чтобы узнать значение для базового цвет по факту. Любые идеи?

Переключатель:

=Switch( 
(
Fields!Cost.Value <= .8944), "Red", 
Fields!Cost.Value > 1.0945), "Red", 
1=1, "Green" 
) 

В идеале я бы переделал свою хранимую процедуру / группировки так, чтобы IIF здесь не понадобился, и я мог бы просто выполнить условное форматирование для Fields! Cost.Value, но это невозможно, учитывая быстрый поворот, необходимый здесь.


person Haymak3r    schedule 10.12.2012    source источник


Ответы (1)


Похоже, я понял это, мне удалось вложить используемый оператор IIF, и форматирование работает правильно.

=Switch(
    (SUM(IIf(RIGHT(Fields!Category.Value, 2) = "01", CDBl(Fields!Cost.Value), CDBL(0)))) <= .8944, "Red", 
    (SUM(IIf(RIGHT(Fields!Category.Value, 2) = "01", CDBl(Fields!Cost.Value), CDBL(0)))) > 1.0945, "Red", 
    1=1, "Green" 
    )
person Haymak3r    schedule 10.12.2012
comment
Если вы используете оператор if в нескольких местах отчета, вы можете добавить вычисляемое поле с этим выражением в свой набор данных (в SSRS). Это может упростить чтение и обслуживание. - person Jamie F; 11.12.2012