Сейчас у меня на графике RS 5 баров - в будущем может быть 7 баров, 17 баров или 27 баров!
С парой тактов у меня может быть такое выражение:
=iif(Fields!Market.Value = "Spain"
,"Gold"
,iif (Fields!Market.Value = "Denmark"
, "Gray"
, iif(Fields!Market.Value = "Italy"
, "Blue"
, "Purple"
)
)
)
Если я не могу предсказать, сколько стран будет включено + мне не нужно жестко кодировать «Зеленый», «Красный» и т. д., как мне изменить выражение?
Я пробовал это, но это ошибка:
=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")
Хорошо - приведенный выше код работает (не уверен, как!), но приведенный ниже основан на помощи Доминика Гуле, и за ним действительно легко следить, он хорош и расширяем до большего количества цветов; это решение для 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")