Visual Studio ALM 报告中的新增功能

通过使用当前版本的 Visual Studio Team Foundation Server,您可以监视团队项目并可通过使用多个默认报表和面板跟踪正在开发的软件的质量。 此外,您可以从工作项查询中快速创建当前和历史趋势报表。 在本主题中,您可以了解有关当前版本中提供的新功能和更改的更多信息,这些新功能和更改支持对报表进行创建和自定义。

主题内容

  • 即开即用报表和面板

  • 从工作项查询中快速生成报表

  • 更改数据字段的报告特性

  • 跨团队项目生成报表

  • 对数据仓库所做的更改

  • 生成针对关系数据库的报表

即开即用报表和面板

您可以使用与 Microsoft Solutions Framework (MSF) 过程模板一起提供的多个即开即用报表之一来查看和跟踪进度。 除了可通过早期版本的 Team Foundation 中提供的报表管理器查看的报表之外,当前版本还提供了其他报表和多个基于 SQL Server Reporting Services 的 Excel 版本的报表。 通过使用新报表,您可以跟踪情景或要求的状态、Bug 趋势、问题趋势以及测试进度和工作效率。

有关与当前版本的 MSF 过程模板一起提供的报表和面板的概述,请查看下表中的主题之一:

项目

MSF for Agile Software Development 5.0 版

  • MSF for CMMI Process Improvement 5.0 版

报表管理器报告

报表 (Agile)

报表 (CMMI)

Excel 报表

Excel 报表 (Agile)

Excel 报表 (CMMI)

面板

面板(敏捷)

面板 (CMMI)

下表指示当前版本中的可比较报表,该报表已被重命名或改编:

早期版本中的报表

此版本中的可比较报表

实际质量与计划速度

“所有迭代的状态”报表

“所有迭代的状态”报表 (CMMI)

速度

“燃尽和燃速”报表(敏捷)

“燃尽和燃速”报表 (CMMI)

Bug 比率

“Bug 状态”报表

Bug (按优先级别)

“Bug 状态”报表

质量指示器

“生成质量指示器”报表

从工作项查询生成报表

您可以在 Microsoft Excel 中生成多个报表,这些报表根据您在简单列表工作项查询中指定的筛选条件来显示当前状态和历史数据。 在根据所选条件显示工作项分布情况或查看过去几周的趋势时,此功能非常有用。 此外,它还是快速生成数据透视表和数据透视图报表的一种有效方法,可对这些报表进行自定义,以支持其他报表视图。

当根据查询创建 Excel 报表时,您可以根据筛选查询所使用的变量和所选条件选择要生成的报表。 通过使用这些方法,您可以生成以下报表类型:

  • 当前报表:根据工作项查询中的指定筛选条件显示工作项计数的饼图。

  • 趋势报表:根据工作项查询中的指定筛选条件显示过去六周中的工作项分布情况的折线图。 您可以在生成报表之后轻松更改日期范围。

每个报表都含有多个工作表,每个工作表显示一个数据透视表和一个数据透视图报表,这两种报表从 SQL Server Analysis Services 多维数据集派生数据。

有关更多信息,请参见使用工作项查询在 Microsoft Excel 中创建报表

更改数据字段的报告特性

在当前版本中,已将两个报告特性添加到工作项字段的定义中,并添加了更改现有字段的特性的功能。 以下是已添加的报告特性:

  • reportingrefname. 可以为标记为可报告的字段分配一个不同的引用名称。 如果未指定任何值,则将使用分配给 refname 特性的值。

    可以使用此特性来合并或分离报表中包含的字段。 若要合并两个具有不同的引用名称且在不同的团队项目集合中定义的字段,请为这两个字段分配同一 reportingrefname。 若要分离两个具有相同的引用名称但在不同的项目集合中定义的字段,请为每个字段分配一个不同的 reportingrefname。

  • reportingname. 可以为用于显示报表数据的字段分配一个不同的标签。 如果未指定值,则将使用为 name 特性分配的友好名称。 分配给 reportingname 的值将显示在多维数据集中。 分配给 reportingrefname 的值不会出现。

可以使用 witadmin changefield 命令更改字段的特性赋值。 有关更多信息,请参见添加和修改工作项字段以支持报告

跨团队项目集合生成报表

现在您可以创建包含从存储在不同的项目集合中的多个团队项目中收集的数据的报表。 所有来自针对 Visual Studio Team Foundation Server 的部署而在所有项目集合中定义的所有团队项目的可报告数据都将写入一个关系数据仓库。 随后将对来自该仓库的数据进行处理,并将其写入 Analysis Services 多维数据集。 通过将数据收集到单个数据仓库,可以跨组进行报告。 下图显示了在跨团队项目和项目集合构建报表时可使用的一些筛选器。

数据透视表中的团队项目字段

提示

由于每个项目集合管理工作项字段的方式很明确,因此在向字段的一个或多个报告特性分配不同的定义时会发生冲突。 有关更多信息,请参见解决数据仓库中发生的架构冲突

对数据仓库所做的更改

所有来自针对 Team Foundation Server 的部署而在所有项目集合中定义的所有团队项目的可报告数据都将写入一个关系数据仓库。 随后将对来自该仓库的数据进行处理,并将其写入 Analysis Services 多维数据集。 通过将数据收集到单个数据仓库,可以跨团队项目集合进行报告。

重要说明重要事项

如果您从早期版本的 Team Foundation Server 进行升级,则可能已升级可查看的报表。 有关更多信息,请参见升级到 Team Foundation Server 2010 后定位报表

ID 值的唯一性

在当前版本中引入团队项目集合后,团队项目的名称在集合中必须是唯一的。 工作项的 ID 只能做到在集合中是唯一的,而不能做到在整个集合部署中是唯一的。 由于数据仓库包含所有团队项目集合中的数据,因此当您对仓库构建工作项查询时,还必须包括该工作项的团队项目 GUID。

对架构进行的更改和添加

当前版本中已对 Analysis Services 多维数据集的架构进行了大量更改。 做出这些更改是为了使多维数据集更便于使用,提供性能和改进转换。 此外,还引入了许多更改,以支持现由 Team Foundation Server 支持的已扩展基础结构,并添加用于跟踪工作项(如链接类型、类别和测试用例)的对象。 以下是对架构所做的一些更改:

  • 维度数已从略大于 60 减小为少于 25。

  • 早期版本的架构中的许多维度现已成为“测试用例”和“工作项”维度的特性。

  • “区域”和“迭代”维度已重新设计为“测试用例”和“工作项”维度的特性,采用 14 级深的真正层次结构,与工作项跟踪操作存储区提供的深度类似。

  • 已重命名许多度量值组、度量值、维度和特性。

  • 添加了新的维度,以支持用于跟踪工作项的新功能。

  • 为了支持可用性,已将显示文件夹添加到“测试用例”和“工作项”维度中。 基于分配给每个字段的引用名称,将字段分组到文件夹下。 维度特性归类到不同的文件夹,这些文件夹基于在工作项类型定义中分配的报告引用名称。

有关对多维数据集进行的所有更改和添加的完整说明,请参见对 Analysis Services 多维数据集架构的更改和增添

处理数据仓库

可以使用仓库控制 Web 服务来管理数据仓库。 当前版本中已重命名并重新设计此 Web 服务。 此外,多维数据集的默认刷新频率已设置为两小时,这是对以前的版本的改进。 可以使用 ChangeSetting 服务修改此值。 有关更多信息,请参见管理数据仓库和 Analysis Services 多维数据集

生成针对关系数据库的报表

现已正式支持创建针对关系数据库的报表。 通常,您需要将 Analysis Services 多维数据集用于历史报表或需要对聚合数据的多个参数进行分段的报表。 多维数据集是处理此类报表的最佳选择。 不过,利用关系数据库,您可以通过某些使用多维数据集无法实现的方式来创建将松散的相关数据聚合到一起的报表。

视图

大量公共视图现可帮助您使用仓库。 所有这些公共视图都具有以“View”结尾的名称,例如 WorkItemHistoryView。 下图显示您可对其生成报表的公共视图。

关系数据库中的视图

提示

以“v”开头并以“Overlay”结尾的视图可用于处理多维数据集。 您在基于关系数据库生成报表时不应使用这些视图。

表名

当前版本的关系数据库中已更改大多数表名。 在早期版本中,许多表名包含了空格,这会导致一些报告工具出现问题。 利用经重命名的表,可以更轻松地确定数据仓库中的表及其在多维数据集中对应的实体之间的连接。

提示

以下划线 (_) 开头的表将来可能会发生更改。 您在基于关系数据库生成报表时不应使用这些表。

在新的数据仓库中,名称不包含空格,并且它们还具有一个指示其用途的前缀,如下表所述。

前缀

说明

dbo.Dim

表包含维度数据,这意味着数据将在多维数据集的维度部分中出现。 通常为维度中的每个特性或层次结构提供一个列。 下图显示了 Team Foundation 的维度表。

关系数据库的维度表

在多维数据集中,DimWorkItem 表显示在工作项下的维度层次结构中。

dbo.Fact

事实数据表包含在多维数据集中显示为度量值的单元格值。 下图显示了 Team Foundation 的事实数据表。

关系数据库的事实数据表

事实数据表具有各种维度表的外键。 例如,FactWorkItemHistory 表包含一个名为 StateChangeCount 的列,该列出现在 Work Item 度量值文件夹中的度量值下的多维数据集中。

补偿记录

在仓库中使用历史数据时,您需要了解补偿记录。 在包含历史信息的表和视图(如 WorkItemHistoryView)中定义补偿记录。 可使用补偿记录来生成数据的聚合。

只要团队成员更新工作项,就会创建修订,并会将一对记录添加到仓库。 一条记录将撤消最近的上一条记录,而下一条记录将为工作项添加修改后的值。 每一条记录均有效地抵消或补偿工作项的前一个修订。

此外,补偿记录还连接了两个列,即 System_ChangedDate 和 System_RevisedDate。 第一个列为 System_ChangedDate,它指示对工作项做出更改的时间。 另一个日期将告知您下一次对工作项做出更改的时间。 例如,假定您于 2009 年 5 月 15 日上午 10 点 53 分创建了一个任务,并于次日上午 11 点 23 分修改了工作项。 随后,您将看到与下表中列出的记录类似的记录。

System_ChangedDate

System_RevisedDate

剩余工作

RecordCount

10:53 5/15/2009

11:23 5/16/2009

20

1

10:53 5/15/2009

11:23 5/16/2009

-20

-1

11:23 5/16/2009

0:00 1/1/9999

10

1

第一条记录是原始记录,它已于 11 点 23 分进行了修改。 下一条记录取消了第一条记录,其添加时间与第三条记录的添加时间相同。 最后,第三条记录为当前记录,它由设置为 DATETIME 列的最大值的 System_RevisedDate 指示。

基于 Sum 的查询

您可确定截至由以下基于 SUM 的查询指示的特定日期的当前剩余工作。

SELECT SUM(Microsoft_VSTS_Scheduling_RemainingWork)
  FROM WorkItemHistoryView WHERE System_Id = 108
   AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'

虽然可以构建此基于 SUM 的查询,但如果使用“As Of”查询,则可获得更好的性能。

As Of 查询

您可构建一个“as of”查询,该查询只返回在特定日期之前已修改的每个工作项的最后一条记录。 例如,以下“as of”查询将返回截至 2009 年 5 月 16 日的剩余工作。

SELECT System_Id, Microsoft_VSTS_Scheduling_RemainingWork
  FROM WorkItemHistoryView WHERE System_ChangedDate < '5/16/2009'
   AND System_RevisedDate >= '5/16/2009'
   AND RecordCount > 0
   AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'

这是您在查询多维数据集时获得的相同结果。 此查询只返回在 2009 年 5 月 16 日之前已修改的每个工作项的最后一条记录。 System_RevisedDate 子句仅检索在 2009 年 5 月 16 日之前已修改的最后一条记录,因为该查询只会查找已于此日期之前修改,并于此日期之后修订的一条记录。 如果从未修订过记录,则记录日期的年份为 9999。 此外,此查询将测试 RecordCount 是否为正。 取消上一条记录的补偿记录具有的 RecordCount 总是为 -1。

请参见

概念

为 Visual Studio ALM 创建、自定义和管理报表

其他资源

添加和修改工作项字段以支持报告

管理数据仓库和 Analysis Services 多维数据集

升级到 Team Foundation Server 2010 后定位报表

对 Analysis Services 多维数据集架构的更改和增添