根据百分比输出显示不同的颜色



我有以下表达式,我想根据百分比输出以不同的颜色显示结果:

=IIF(isNothing(ReportItems!supply.value) or ReportItems!supply.value="" 
,nothing,
IIF(isNothing(ReportItems!cen.value) or ReportItems!cen.value="",nothing,
round((Cint(ReportItems!Textbox16.value)-Cint(ReportItems!Textbox17.value)) 
* 100 / Cint(ReportItems!Textbox16.Value),2) & "%"))</i>

如何使用这段代码显示不同的颜色?范围如下:

  • 0 - 50 为绿色
  • 50 - 70 为黑色
  • 70 - 100 为红色

如果有人能提供帮助,我将不胜感激。

谢谢

对多个条件使用 SWITCH 语句。 添加到条件中要容易得多,我认为它也更容易阅读。

=SWITCH(Field.Value <= 50, "Green", Field.Value <=70,"Black",Field.Value <= 100,"Red",True,"Blue")

使用第一个真实结果按顺序评估这些结果。 您还应该始终有一个 catch all 值以防止错误。 在此示例中,我使用了 True 并将其设置为 Blue

您当然可以动态定义颜色,只需要获得正确的语法即可。SSRS 中的颜色可以通过其十六进制值来定义,例如白色是"#FFFFFF" 。每对两个十六进制位置对应于颜色的红色、绿色和蓝色部分。

因此,如果我想使用数字 50 作为颜色的绿色部分,它将如下所示:

="#00" + CStr(50) + "00"

换句话说,我将数字转换为字符串,并以所需格式将其与其余颜色字符串连接起来。如果需要,还可以使用 Hex 函数将整数转换为相应的十六进制值。

最新更新