ปัจจุบันฉันมี 5 แท่งในกราฟ RS ของฉัน - ในอนาคตอาจมี 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")
โอเค - การดำเนินการข้างต้น (ไม่แน่ใจว่าเป็นอย่างไร!) แต่ด้านล่างนี้อิงจากความช่วยเหลือจาก Dominic Goulet และง่ายต่อการปฏิบัติตามและสวยงามและสามารถขยายให้มีสีต่างๆ ได้มากขึ้น นี่คือคำตอบสำหรับ 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")