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

如何在SSRS中基于TFS数据集创建按字段名分组的平均时长条形图?

在SSRS中基于宽格式数据集创建状态平均时长条形图的解决方案

我刚好遇到过类似的问题,你的核心困扰在于当前数据集是宽格式(每个状态单独作为一列),而SSRS的条形图需要长格式数据才能把状态名称作为横轴的类别组。直接把三个平均字段放到「值」区域的话,SSRS会把它们当成不同的系列,自然不会显示状态标题。下面给你两种可行的解决方案,优先推荐第一种:

方案1:修改数据集查询,将宽表转成「长格式」(最推荐)

这是最简洁且可扩展的方法,通过调整TFS查询的SQL语句,把原来的三列转成两列(状态名称、时长),让数据结构更适配SSRS图表的需求。

假设你原查询的结果是题目里的三列数据,修改后的SQL可以这样写:

-- 替换YourOriginalQuery为你获取TFS工作项指标的原查询语句
SELECT 'Time in Ready' AS StateName, [Time in Ready] AS Duration FROM YourOriginalQuery
UNION ALL
SELECT 'Time in Active' AS StateName, [Time in Active] AS Duration FROM YourOriginalQuery
UNION ALL
SELECT 'Time in Resolved' AS StateName, [Time in Resolved] AS Duration FROM YourOriginalQuery

修改后你的数据集会变成这样的结构:

StateNameDuration
Time in Ready6
Time in Ready2
Time in Ready1
Time in Active3
Time in Active4
Time in Active7
Time in Resolved2
Time in Resolved1
Time in Resolved1

接下来配置图表就非常简单了:

  • 类别组(Category Group):添加StateName字段(拖到类别组区域即可)
  • 值(Values)区域:添加Duration字段,然后右键该值字段 → 「图表数据属性」→ 「聚合」→ 选择Average(平均值)
  • 完成后横轴会自动显示三个状态名称,纵轴就是对应的平均时长(和你预期的3、4.7、1.3完全一致)

方案2:不修改原数据集,用SSRS表达式手动映射(应急方案)

如果因为权限或其他原因无法修改原数据集,可以通过自定义状态名称数据集+表达式的方式实现:

  1. 创建状态名称数据集:在报表中新建一个数据集(比如命名为StateList),SQL语句写:
SELECT 'Time in Ready' AS StateName UNION ALL
SELECT 'Time in Active' UNION ALL
SELECT 'Time in Resolved'
  1. 配置图表类别组:把StateList里的StateName字段拖到图表的「类别组」区域
  2. 配置值区域的表达式:在值区域添加一个表达式,根据当前类别组的状态名称,计算对应原数据集列的平均值:
=Switch(
  Fields!StateName.Value = "Time in Ready", Avg(Fields!Time_in_Ready.Value, "YourOriginalDatasetName"),
  Fields!StateName.Value = "Time in Active", Avg(Fields!Time_in_Active.Value, "YourOriginalDatasetName"),
  Fields!StateName.Value = "Time in Resolved", Avg(Fields!Time_in_Resolved.Value, "YourOriginalDatasetName")
)

注意:把YourOriginalDatasetName替换成你实际的原数据集名称;SSRS会自动把带空格的字段名转换成下划线格式(比如Time in Ready变成Time_in_Ready),要确保字段名正确。

最后可以根据需求调整纵轴的数值格式、条形图的颜色样式等,达到你想要的效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:01:19