작업 항목 기록 테이블
다음 그림과 같이 FactWorkItemHistory 및 연결된 차원 테이블을 사용하여 버그, 작업 및 기타 작업 항목 형식에 대한 기록 데이터를 쿼리할 수 있습니다.기록 데이터는 시간 경과에 따라 변경된 작업 항목의 필드 값 또는 상태에 대한 정보를 제공합니다.진행률 차트와 번다운(burndown) 차트가 작업 항목 기록 테이블로 만드는 보고서의 예에 해당합니다.데이터는 보정 레코드를 사용하여 저장됩니다.
이러한 테이블 SQL Server Analysis Services 큐브의 연결 된 차원 및 측정값에 대 한 자세한 내용은 작업 항목 큐브 뷰를 사용하여 작업 항목 및 테스트 사례 데이터 분석 및 보고.
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 페이지를 참조하십시오.