Раскраска ячейки на основе значений заголовка строки и столбца в SSRS 2012 - PullRequest
0 голосов
/ 25 апреля 2019

Я хотел бы покрасить ячейку на основе значений заголовка и строки, а не значения ячейки.В приведенном ниже примере, когда [ship_prom] = [produced_month] ячейка [sum(wgt_scaled)] должна стать зеленой (в примере отмечена X).

         [produced_month]   
[ship_prom]     [Sum(wgt_scaled)]   
          201812    201901  201902

201901      2.1       X       3

201902      1.5               X

Извините, если форматирование не работает - попытался вставить изображение, нотоже не удалось ..

Я попробовал условное форматирование [Sum(wgt_scaled)], используя =iif(Fields!ship_prom.Value=Fields!produced_month.Value,"Green","No Color"), но не все ячейки имеют значения, и каждая ячейка нулевого значения стала зеленой.

Дополнительно от DonD: фактический отчетимеет несколько дополнительных полей / групп, поэтому ваш комментарий по поводу того, что он находится в этой области, уместен.Я попытался упростить отчет до базовых данных, но все еще не получаю такой же вывод, как вы. сокращенная информация об отчете

@ steve-o169 Поскольку вы можете создавать отчет с помощью коммутатора, я пойду вперед и отмечу ваш ответ как лучший.Спасибо за помощь!

пример макета дизайна

образец желаемого результата

Фактический запрос данных и подмножестводанные

1 Ответ

0 голосов
/ 25 апреля 2019

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

=Switch(Fields!ship_prom.Value=Fields!produced_month.Value AND TRIM(Fields!ship_prom.Value) <> "","Green", 
true, "No Color")

РЕДАКТИРОВАТЬ: Возможно, нужно увидеть запрос, прежде чем я действительно смогу решить проблему здесь. Я не могу воспроизвести вашу проблему. Я создал простой набор данных со следующим запросом.

CREATE TABLE #temp(ship_prom INT, produced_month INT, wgt_scaled DECIMAL(2,1))
INSERT INTO #temp (ship_prom, produced_month, wgt_scaled)
VALUES (201901, 201812, 2.1), (201902, 201812, 1.5), (201901, 201901, NULL), 
(201902, 201901, NULL), (201901, 201902, 3.0), (201902, 201902, NULL)

SELECT * FROM #temp

Я выложил свою таблицу с группой столбцов на produced_month и группой строк на ship_prom и сгруппировал по ship_prom со следующим макетом.

* +1012 *design view

Используя точное выражение переключателя из моего ответа, я смог добиться следующего результата.

enter image description here

...