Tabelle relative alla cronologia degli elementi di lavoro
È possibile eseguire una query per i dati della cronologia relativi a bug, attività e altri tipi di elementi di lavoro tramite FactWorkItemLinkHistory e le tabelle delle dimensioni associate come mostrato nell'illustrazione riportata di seguito.I dati della cronologia forniscono informazioni sullo stato di un elemento di lavoro o un valore di un campo per un elemento di lavoro man mano che vengono modificati nel tempo.I grafici dello stato di avanzamento e burn-down sono esempi di rapporti compilati dalle tabelle relative alla cronologia dell'elemento di lavoro.I dati vengono archiviati mediante record di compensazione.
Per informazioni sulle misure e le dimensioni associate a queste tabelle nel cubo di SQL Server Analysis Services, vedere Analizzare e generare rapporti su dati relativi agli elementi di lavoro e ai test case tramite la prospettiva Elemento di lavoro.
FactWorkItemHistory è associata a FactCurrentWorkItem e alle tabelle delle dimensioni riportate di seguito:
DimArea
DimIteration
DimPerson
DimTeamProject
È possibile utilizzare la query di esempio seguente per trovare la tendenza storica del carico di lavoro nel periodo compreso tra il 21 e il 30 settembre del 2009 di determinate storie utente.Per ogni storia utente nel progetto team, questa query restituisce informazioni sul lavoro totale completato, sul lavoro originale stimato, sul lavoro rimanente e sui punti della storia totali per ogni giorno durante tale periodo.Per ulteriori informazioni sulle storie utente, vedere Storia utente (Agile).
[!NOTA]
Questa query presuppone che una storia utente sia collegata agli altri elementi di lavoro tramite collegamenti figlio.
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
Risorse supplementari
Per ulteriori informazioni, vedere la pagina seguente nel sito Web Microsoft: COALESCE (Transact-SQL) (la pagina potrebbe essere in inglese).
Per ulteriori informazioni sui record di compensazione, vedere la pagina seguente nel sito Web Microsoft: NEricson's Weblog (la pagina potrebbe essere in inglese).
Vedere anche
Concetti
Rapporto Excel sullo Stato di avanzamento del team di test
Generare rapporti mediante il database warehouse relazionale per Visual Studio ALM