SO Postизменение цвета заливки бара в SSRS диаграмма
тока у меня есть 5 баров в моем графике RS - в будущем может быть 7 баров или 17 баров или 27 баров!
С парой брусков я могу иметь выражение так:
=iif(Fields!Market.Value = "Spain"
,"Gold"
,iif (Fields!Market.Value = "Denmark"
, "Gray"
, iif(Fields!Market.Value = "Italy"
, "Blue"
, "Purple"
)
)
)
Если я не могу предсказать, сколько стран будут включены + я предпочел бы не иметь на жесткий код в «Green» , «Красный» и т. Д., Как мне изменить выражение?
Я попытался это, но она erroring:
=Switch(Mod(Fields!Rank.Value/CDbl(2))=CDbl(0), "Gold",
Mod(Fields!Rank.Value/CDbl(3))=CDbl(0), "Gray",
Mod(Fields!Rank.Value/CDbl(2))>CDbl(0) "Blue")
Выше совершенно неправильный синтаксис: Это работает: - (! Не знаю, как)
=Switch(CDbl(Fields!Rank.Value Mod 2)=CDbl(0), "Gold",
CDbl(Fields!Rank.Value Mod 3)=CDbl(0), "Gray",
CDbl(Fields!Rank.Value Mod 2)>CDbl(0), "Blue")
Ok вышеприведенные работает, но нижеследующее основано на помощи Доминика Гуле, и очень легко следовать и приятно и расширяемо до большего количества цветов; это решение для 5 цветов:
=Switch(CDbl(Fields!Rank.Value Mod 5)=CDbl(0), "Gold",
CDbl(Fields!Rank.Value Mod 5)=CDbl(1), "Gray",
CDbl(Fields!Rank.Value Mod 5)=CDbl(2), "Green",
CDbl(Fields!Rank.Value Mod 5)=CDbl(3), "Red",
CDbl(Fields!Rank.Value Mod 5)=CDbl(4), "Pink")
Ваш последний переключатель неправильный. 12 приведет к «Золоту», где он должен быть «Серый». Вы должны использовать (Fields! Rank.Value Mod 3 = 0), (Fields! Rank.Value Mod 3 = 1) и (Fields! Rank.Value Mod 3 = 2) условия. –