SSRS三色条件格式设置求助:表达式编写问题咨询
SSRS条件格式配置修正方案
原表达式的核心问题
- 字符串而非数值比较:你用引号包裹文本框名称(
"Textbox83"),这会把它们当作字符串比较,而非数值计算,完全不符合逻辑。 - 逻辑判断顺序错误:应该优先判断低于基准的情况,再依次处理基准内的超额、超出基准5%以上的情况。
- 5%范围判断逻辑错误:规则是“高于基准但在5%范围内”,即数值大于基准且≤基准×1.05,而非等于基准+0.05(这种仅匹配刚好超出5%的单一值)。
正确实现步骤
- 选中需要设置条件格式的目标文本框(显示Year 1/2/3数值的文本框)。
- 右键选择文本框属性 → 切换到填充(如果要设置背景色)或字体(如果要设置字体颜色)选项卡。
- 点击颜色选择框旁的
fx按钮,打开表达式编辑器。 - 输入以下修正后的表达式:
=IIF(CDbl(ReportItems!Textbox83.Value) < CDbl(ReportItems!Textbox82.Value), "Red", IIF(CDbl(ReportItems!Textbox83.Value) <= CDbl(ReportItems!Textbox82.Value) * 1.05, "Gold", "SpringGreen"))
表达式逻辑说明
- 首先判断:如果目标值(Textbox83)低于基准值(Textbox82),显示红色。
- 若不满足上一条,判断:如果目标值高于基准但≤基准的105%(即5%范围内),显示金色。
- 若都不满足,说明目标值超出基准5%以上,显示绿色。
匹配你的测试数据验证
- Year 1(62.2%):62.2 > 60 且 62.2 ≤ 60×1.05=63 → 显示金色。
- Year 2(67.4%):67.4 > 63 → 显示绿色。
- Year 3(43.6%):43.6 < 60 → 显示红色。
内容的提问来源于stack exchange,提问作者markdellis
相关产品推荐
相关产品推荐

