工作项历史记录表

更新:2010 年 7 月

通过使用 FactWorkItemHistory 和关联的维度表(如下图所示),您可以查询有关 Bug、任务和其他类型工作项的历史数据。 历史数据可提供有关工作项随时间发生更改时的状态或字段值的信息。 例如,进度图和燃尽图是基于工作项历史记录表生成的报表。 该数据是使用补偿记录存储的。 有关补偿记录的更多信息,请参见Visual Studio ALM 报告中的新增功能

“工作项历史记录”事实数据表

FactWorkItemHistory 与 FactCurrentWorkItem 和下列维度表关联:

  • DimArea

  • DimIteration

  • DimPerson

  • DimTeamProject

可以使用以下示例查询查找 2009-09-21 至 2009-09-30 期间某些用户情景的历史工作负荷趋势。 对于团队项目中的每个用户情景,此查询会返回关于该期间每天的已完成工作总量、估计的原始工作量、剩余工作量以及情景点总数的信息。 有关用户情景的更多信息,请参见用户情景 (Agile)

提示

此查询假定用户情景是通过子链接来链接到其他工作项的。

declare @TeamProjectNodeSK int
select @TeamProjectNodeSK = ProjectNodeSK from GetProjectNodeInfoFromReportFolder(N'/TfsReports/VSTSDF/ProcessDev10')
-- This table value function returns the ProjectNodeSK: the Surrogate Key of a team project under a certain area path.

declare @TeamProjectCollectionGuid nvarchar(36)
select @TeamProjectCollectionGuid = pc.ProjectNodeGUID from DimTeamProject p inner join DimTeamProject pc on p.ParentNodeSK = pc.ProjectNodeSK where p.ProjectNodeSK = @TeamProjectNodeSK
-- This query finds the team project collection GUID by joining TeamProject.ParentNodeSK to TeamProject.ProjectNodeSK

select 
    d.DateSK
    ,wi.System_Title
    ,wi.System_Id
    ,coalesce(sum(wih_child.Microsoft_VSTS_Scheduling_CompletedWork),   0) as Total_CompletedWork, -- Finds the total number of hours of completed work.
    coalesce(sum(wih_child.Microsoft_VSTS_Scheduling_OriginalEstimate), 0) as Total_OriginalEstimate --Finds the total number of hours of original estimate.
    ,coalesce(sum(wih_child.Microsoft_VSTS_Scheduling_RemainingWork), 0) as Total_RemainingWork--Finds the total number of hours of remaining work.
    ,coalesce(sum(wih_child.Microsoft_VSTS_Scheduling_StoryPoints), 0) as Total_StoryPoints --Finds the total story points.
from
    DimDate d
cross apply
    DimWorkItem wi
cross apply
    GetWorkItemsTree(@TeamProjectCollectionGuid, wi.System_Id,      
N'Child', d.DateSK) wit 
left join          
    FactWorkItemHistory wih_child   
        on wih_child.WorkItemSK = wit.ChildWorkItemSK
where
    d.DateSK >= N'2009-09-21 00:00:00.000' 
    and d.DateSK <= N'2009-9-30 00:00:00.000'
    and wi.TeamProjectSK = @TeamProjectNodeSK 
    and wi.System_WorkItemType = N'User Story' 
    and wi.System_ChangedDate <= d.DateSK
    and wi.System_RevisedDate > d.DateSK
    and wi.System_State = N'Active'
    and (wih_child.RecordCount != -1 or wih_child.RecordCount is null)
group by d.DateSK, wi.System_Id, wi.System_Title

其他资源

有关更多信息,请参见 Microsoft 网站上的以下页面:COALESCE (Transact-SQL)

有关补偿记录的更多信息,请参见 Microsoft 网站上的以下页面:NEricson's Weblog(NEricson 的网络日志)。

请参见

概念

Excel 格式的“燃尽”报表

其他资源

Excel 格式的“测试团队进度”报表

Visual Studio ALM 报告中的新增功能

使用 Visual Studio ALM 的关系型数据仓库数据库生成报表

修订记录

日期

修订记录

原因

2010 年 7 月

添加了链接的维度表列表。

信息补充。