SSRS изменяет цвет заливки на основе значений и параметров столбца - PullRequest
0 голосов
/ 22 мая 2018

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

Если Parameter1 = "A" и Parameter2 = "B", то результаты заполняются на основе требований (ниже).Если Parameter1 = "C" и Parameter2 = "D", то числа заполняются на основе других требований.Если Parameter1 и Parameter2 - это любое другое значение (E, F, G), оставьте фон белым.

Что я пробовал до сих пор:

=Switch(Parameters!Site.Value="A" AND Parameters!Place.Value = "B", IIF(Fields!Cost.Value < 100, "Green", IIF(Fields!Cost.Value >= 101 AND Fields!Cost.Value <= 200, "Yellow", IIF(Fields!Cost.Value > 300, "Red", "White"))), "White") OR (Parameters!Site.Value="C" AND Parameters!Place.Value = "D", IIF(Fields!Cost.Value < 300, "Green", IIF(Fields!Cost.Value >= 301 AND Fields!Cost.Value <= 400, "Yellow", IIF(Fields!Cost.Value > 400, "Red", "White"))), "White"), True, "White")

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Попробуйте следующее выражение:

=Switch(
Parameters!Site.Value="A" AND Parameters!Place.Value = "B" AND Fields!Cost.Value < 100, "Green",
Parameters!Site.Value="A" AND Parameters!Place.Value = "B" AND Fields!Cost.Value <= 200, "Yellow",
Parameters!Site.Value="A" AND Parameters!Place.Value = "B" AND Fields!Cost.Value > 300, "Red",
Parameters!Site.Value="C" AND Parameters!Place.Value = "D" AND Fields!Cost.Value < 300, "Green",
Parameters!Site.Value="C" AND Parameters!Place.Value = "D" AND Fields!Cost.Value >= 301 AND Fields!Cost.Value <= 400, "Yellow",
Parameters!Site.Value="C" AND Parameters!Place.Value = "D" AND Fields!Cost.Value > 400, "Red",
True, "White"
)
0 голосов
/ 23 мая 2018

Возможно, вам нужно использовать ИЛИ вместо И, например:

=Switch((Parameters!Site.Value="A" OR Parameters!Place.Value = "B") AND Fields!Cost.Value < 100, "Green",
(Parameters!Site.Value="A" OR Parameters!Place.Value = "B") AND Fields!Cost.Value >= 101 AND Fields!Cost.Value <= 200, "Yellow",
(Parameters!Site.Value="A" OR Parameters!Place.Value = "B") AND Fields!Cost.Value > 300, "Red", "White")
...