“工作项历史记录”表
可以使用 FactWorkItemHistory 和关联维度表查询有关 bug、任务和其他类型工作项的历史数据,如下图所示。 历史数据提供工作项随时间而变化时,有关工作项的状态或工作项的字段值的信息。 进度和燃尽图是从工作项历史记录表生成的报表的示例。 数据使用补偿记录进行存储。
有关 SQL Server Analysis Services 多维数据集中与这些表关联的度量值和维度的信息,请参阅使用工作项透视分析和报告工作项和测试用例数据。
FactWorkItemHistory 与以下维度表关联:
DimArea
DimIteration
DimPerson
DimTeamProject
DimWorkItem
可以使用下面的示例查询查找特定用户情景在 2009 年 9 月 21 日到 2009 年 9 月 30 日之间的时间段内的历史工作负荷趋势。 对于团队项目中的每个用户情景,此查询返回有关该时间段内每天的已完成工作总数、原始估计工作、剩余工作和情景点总数的信息。
备注
此查询假定用户情景通过子链接而链接到其他工作项。
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 的网络日志。