You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SSRS报表的表格单元格中显示多色进度条?

实现SSRS多色分段进度条的方法

核心思路

通过矩形容器+多段子矩形的组合方式替代单一颜色数据条,利用表达式控制不同分段子矩形的宽度,实现按百分比区间显示不同颜色的进度条效果。

具体操作步骤

假设使用率字段为=Fields!使用率.Value(数值类型,如0.9对应90%),目标分段规则:

  • ≤80%区间:深绿色
  • 81%-100%区间:浅绿色
  1. 添加主矩形容器

    • 选中使用率列的目标单元格,右键插入矩形,调整矩形高度与单元格匹配,宽度设为单元格可用宽度(例如5cm)。
  2. 添加深绿色分段子矩形

    • 在主矩形内插入子矩形,设置填充颜色为深绿色(示例色值#006633)。
    • 设置子矩形宽度表达式:
      =IIF(Fields!使用率.Value <= 0.8, 5 * Fields!使用率.Value, 5 * 0.8)
      
      (注:表达式中的5对应主矩形的宽度值,可根据实际调整)
    • 取消子矩形边框,调整高度与主矩形一致。
  3. 添加浅绿色分段子矩形

    • 在主矩形内插入第二个子矩形,放置于第一个子矩形右侧(可通过设置左偏移为第一个子矩形的宽度实现对齐)。
    • 设置填充颜色为浅绿色(示例色值#66CC99)。
    • 设置子矩形宽度表达式:
      =IIF(Fields!使用率.Value > 0.8, 5 * (Fields!使用率.Value - 0.8), 0)
      
    • 取消边框,高度与主矩形一致。
  4. 添加百分比文本(可选)

    • 在主矩形内插入占位符,设置文本表达式为=Format(Fields!使用率.Value, "P0")(显示整数百分比)。
    • 调整占位符位置为居中,确保文本覆盖在进度条上方。
  5. 细节优化

    • 可为主矩形添加灰色边框,模拟进度条外框;
    • 如需增加更多分段(如红色预警区间),重复步骤2-3,调整区间逻辑和对应颜色即可。

替代方案:HTML渲染法(适用于支持HTML的SSRS场景)

若报表允许HTML渲染,可在单元格占位符中使用拼接的HTML代码实现进度条:

  1. 选中单元格占位符,打开占位符属性;
  2. 设置“值”为以下表达式:
    ="<div style='width:100%; background:#eee; border:1px solid #ccc; height:20px; position:relative;'>" &
    IIF(Fields!使用率.Value <=0.8, 
        "<div style='width:" & CStr(Fields!使用率.Value*100) & "%; background:#006633; height:100%;'></div>",
        "<div style='width:80%; background:#006633; height:100%; float:left;'></div><div style='width:" & CStr((Fields!使用率.Value-0.8)*100) & "%; background:#66CC99; height:100%; float:left;'></div>") &
    "<div style='position:absolute; top:0; left:0; width:100%; text-align:center; line-height:20px;'>" & Format(Fields!使用率.Value,"P0") & "</div></div>"
    
  3. 勾选“允许HTML标记”,完成渲染设置。

内容的提问来源于stack exchange,提问作者Shiraineko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:52:36