작업 항목 기록 테이블
다음 그림과 같이 FactWorkItemHistory 및 관련 차원 테이블을 사용하여 버그, 작업 및 기타 작업 항목 형식에 대한 기록 데이터를 쿼리할 수 있습니다. 기록 데이터는 시간이 지남에 따라 변경되므로 작업 항목의 필드 값이나 작업 항목 상태에 대한 정보를 제공합니다. 작업 항목 기록 테이블에서 작성되는 보고서의 예로는 진행률 및 번다운(Burndown) 차트가 있습니다. 보정 레코드를 사용하여 데이터를 저장합니다.
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 웹 로그 페이지를 참조하세요.