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

如何在SSRS报表中合并明细行以展示队列时间线?

SSRS队列进程时间线:垂直合并连续单元格方案

一、先搞定数据重塑(核心前提)

你完全可控输入数据,先把进程数据转换成按时间步展开+块标识的结构,确保同一进程的连续时间步记录有统一标识,同时标记块的跨度和当前位置。

假设原始进程数据是:

队列名称进程ID进程描述开始时间步结束时间步
Queue1P1处理AT1T3
Queue1P2处理BT4T5

转换后目标数据结构(可通过SQL或ETL工具生成):

时间步队列名称进程ID进程描述块ID(队列+进程ID)块总行数块内行序号
T1Queue1P1处理AQ1-P131
T2Queue1P1处理AQ1-P132
T3Queue1P1处理AQ1-P133
T4Queue1P2处理BQ1-P221
T5Queue1P2处理BQ1-P222

关键规则:同一进程的所有时间步记录用同一个块ID,块总行数是该进程覆盖的时间步数,块内行序号从1开始递增。数据必须按队列名称→块ID→时间步排序,保证同一进程的行连续。

二、SSRS报表设置步骤

  1. 创建表格/矩阵

    • 行组基于时间步,按时间顺序排序(建议把T1/T2转成数字1/2作为排序依据,避免字符串排序乱序)。
    • 列组基于队列名称,按需求排序。
  2. 设置单元格合并与可见性
    选中对应队列列的数据单元格,调整以下属性:

    • 跨行合并(RowSpan):设置表达式为 =Fields!块总行数.Value,让进程块的第一行单元格跨对应行数显示。
    • 可见性:设置表达式为 =IIF(Fields!块内行序号.Value > 1, True, False),隐藏进程块中除第一行外的其他单元格。
    • 单元格内容:直接绑定进程描述字段,后续可替换为你需要的文本。
  3. 验证调整
    预览报表,检查同一队列内的连续进程是否正确合并单元格。如果出现合并错位,先排查数据是否按要求排序,或块总行数计算是否正确。

三、特殊场景处理

如果同一队列同一时间步存在多个并行进程,可修改单元格内容表达式为:

=Join(LookupSet(Fields!时间步.Value & Fields!队列名称.Value, Fields!时间步.Value & Fields!队列名称.Value, Fields!进程描述.Value, "数据集名称"), vbCrLf)

实现同一单元格内换行显示多个进程,同时保持跨行合并逻辑不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 04:43:08