SSRS-条件格式无法应用?

时间:2018-11-26 14:28:59

标签: ssrs-2008 conditional-formatting

我有以下表达式将背景色应用于文本框,但当该条件为true时,仅应用红色。所有其他条件都显示为白色吗?例如,当报表呈现时第一个条件为true时,背景颜色是白色而不是绿色?

=IIF(Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 86, "Green",
IIF(Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 79 AND 
Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) <= 85, "Light Green",
IIF(Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 64 AND 
Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) <= 78, "Yellow", "Red" )))

1 个答案:

答案 0 :(得分:2)

您的SUM(CINT(Fields!TotalAchieved.Value)* 7.14)计算似乎没有给您期望的结果。我要做的第一件事是添加一列以显示此值,以确保它提供了您所期望的值。

一旦您答对了,那么我还建议您使用SWITCH语句而不是嵌套的IIF,它们更易于读取/调试。

您的表情将是

=SWITCH(
Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 86, "Green",
Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 79, "LightGreen",
Round(SUM(CInt(Fields!TotalAchieved.Value) * 7.14)) >= 64, "Yellow",
TRUE, "Red" 
)

通过这种方式,您不需要检查范围,例如,如果值是75,则第一个表达式失败,但是第二个表达式为true,因此SWITCH将在该点停止并且不评估休息,如果都失败了,那么最后的TRUE会像else一样。