求SSRS测试用例结果报表示例及数据集构建指导
用SSRS搭建类Excel风格的TFS 2015测试结果报表
嘿,我帮你梳理下怎么用SSRS搭建和你现有Excel流程匹配的测试结果报表,从数据集创建到报表结构一步一步来:
第一步:连接TFS 2015分析服务器创建数据集
首先得在SSRS里连上TFS的分析服务器,这和你Excel连接的逻辑一致,只是换了SSRS的配置方式:
- 新建报表项目,右键「数据源」→「添加数据源」,选择Analysis Services类型。
- 服务器地址填你的TFS 2015分析服务器地址,数据库选择
Tfs_Analysis(这是TFS默认的多维分析数据库)。 - 新建数据集,选择刚才的数据源,用MDX查询来获取测试结果数据——这相当于你Excel里从分析服务器拉取透视表的数据源。推荐一个基础的MDX查询,完全匹配你需要的字段:
SELECT NON EMPTY { [Measures].[Test Case Count], [Measures].[Test Case Passed Count], [Measures].[Test Case Failed Count], [Measures].[Test Case Not Executed Count] } ON COLUMNS, NON EMPTY { [Test Suite].[Test Suite Hierarchy].[Test Suite].ALLMEMBERS * [Project Node].[Project Hierarchy].[Project].ALLMEMBERS * [Area Path].[Area Hierarchy].[Area].ALLMEMBERS } ON ROWS FROM [Team System]
这个查询里:
[Measures]下的指标对应你Excel里的总测试数、通过数、失败数、未执行数;- 行上的
Project、Area Path、Test Suite就是你用来筛选的维度,和之前Excel透视表的行字段完全对应。
第二步:构建类Excel风格的报表
2.1 数据透视表风格的测试结果表格
用SSRS的Tablix控件就能实现和Excel透视表几乎一样的效果:
- 把数据集里的
Project、Area Path、Test Suite拖到Tablix的行组,把各个计数指标拖到数据区域; - 添加筛选参数:创建基于
Project和Area Path的报表参数,让用户能像Excel里那样筛选项目和区域。参数的可用值直接从数据集里取就行,比如项目参数的可用值可以用这个MDX查询:
SELECT [Project Node].[Project Hierarchy].[Project].ALLMEMBERS ON 0 FROM [Team System]
- 格式化表格:给表头加背景色、设置数字格式、添加合计行,完全复刻你Excel透视表的样式。
2.2 仪表板矩阵(对应Excel的VLOOKUP矩阵)
要实现你用VLOOKUP做的状态矩阵,用SSRS的Matrix控件最方便:
- 把
Test Suite拖到矩阵的行组,把各个计数指标(总测试数、通过、失败等)拖到列组或直接作为数据列; - 设置列标题为你需要的名称(比如「总测试数」「通过」),还能加条件格式——比如失败数大于0时用红色字体,和Excel里的条件格式效果一致;
- 如果需要按项目或区域筛选,直接复用刚才创建的报表参数就行,矩阵会自动跟着参数更新数据。
几个实用小技巧
- 共享数据集:把刚才的MDX查询做成共享数据集,表格和矩阵都能复用,减少重复配置;
- 性能优化:如果数据量大,在MDX里保留
NON EMPTY关键字,或者提前在查询里加筛选条件,和Excel透视表的筛选优化逻辑一样; - 导出Excel:SSRS支持直接导出为Excel格式,用户下载后可以继续用Excel操作,完美衔接你之前的工作流。
内容的提问来源于stack exchange,提问作者Pat Delaney




