2013-02-24 1 views
0

У меня есть следующая матрица:Как отформатировать цвет фона ячейки, находящейся под группой? - SSRS 2008 R2

  • Дизайн вид
-------------------------- 
| OfficeSID | [Type] | 
-------------------------- 
| [OfficeSid] | [Value] | 
-------------------------- 
  • Просмотр
---------------------------- 
| OfficeSID | A | B | 
---------------------------- 
| 1  | 1029 | 982 | 
---------------------------- 
| 2  | 98 | 782 | 
---------------------------- 
| 3  | 786 | 82 | 
---------------------------- 
| 4  | 29 | 2 | 
---------------------------- 

Я хочу форматировать цвет фона ячеек т.е. вторая строка, второй столбец, который является полем значений. Он сгруппирован под полем «Тип». Цвет фона должен быть следующим:

  • Если значение < 0 красный
  • Если значение < 100 и> 0 Orange
  • Если значение> = 100 Green

Я попытался с помощью выражения но это работает. Может ли кто-нибудь решить эту проблему, пожалуйста. Это срочно.

ответ

4

Это довольно распространенное требование ... Похоже, вы пытаетесь установить свойство BackgroundColor на уровне ячейки, что является правильным, поэтому нет причин, по которым он не должен работать.

Какое выражение вы употребляете? Я хотел бы использовать что-то вроде:

=Switch(Fields!Value.Value < 0, "Red" 
    , Fields!Value.Value > 0 and Fields!Value.Value < 100, "Orange" 
    , Fields!Value.Value >= 100, "Green") 

Edit после комментария:

Хм, не уверен, что происходит с отчетом. Я собрал базовый пример, чтобы соответствовать вашим результатам, и он работает, как ожидалось.

Соединенный образец набора данных:

enter image description here

Создать матрицу:

enter image description here

Выражение Значение Text Box BackgroundColor свойство, буквально копировать и вставлять из ответа выше:

enter image description here

Окончательные результаты, похоже, что это работает, как ожидалось:

enter image description here

Так что я не уверен, что предложить здесь ... О единственное, что я могу думать, является ли вам имеют несколько значений для комбинации OfficeSID/Type, и в этом случае вам нужно будет использовать агрегат в выражении, т. е.что-то вроде:

=Switch(Sum(Fields!Value.Value) < 0, "Red" 
    , Sum(Fields!Value.Value) > 0 and Fields!Value.Value < 100, "Orange" 
    , Sum(Fields!Value.Value) >= 100, "Green") 

Но кроме этого, я думаю, вы можете либо добавить точные детали данных, которые вы используете, или начать новый отчет с нуля в наиболее простом способе. Это покажет, можете ли вы получить фоновый рисунок в новом отчете без какой-либо другой логики.

+0

Привет, я просто. Я использовал выражение, подобное вам, подумал, что это сработает, но, к моему удивлению, оно не меняет цвета соответственно. Для <0 он меняется на красный n и на второе условие также красное. Я не понимаю эту проблему :(Я пробовал все, что мог, но не смог добиться успеха. – user2104571

+0

Не знаю, в чем проблема, извините. Я добавил пример с моим оригинальным ответом в действии. –

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