Поделиться через


таблицы журналов рабочих элементов

Вы можете запрашивать исторические данные об ошибках, задачах и других типах рабочих элементов с помощью таблицы FactWorkItemHistory и соответствующих таблиц измерений, как показано на следующем рисунке. Исторические данные предоставляют сведения о состоянии рабочего элемента или изменявшегося со временем значения поля для рабочего элемента. Примерами отчетов, которые создаются из таблиц журнала рабочих элементов, являются диаграммы хода выполнения и сгорания. Данные хранятся с использованием компенсирующих записей.

Сведения о мерах и измерениях, связанных с этими таблицами в кубе служб SQL Server Analysis Services, см. в статье Анализ и включение в отчеты данных рабочих элементов и тестовых случаев с использованием перспективы "Рабочий элемент".

Таблица фактов для журнала рабочего элемента

Таблица FactWorkItemHistory связана со следующими таблицами измерений:

  • DimArea.

  • DimIteration.

  • DimPerson.

  • DimTeamProject.

  • DimWorkItem.

Следующий пример запроса можно использовать для поиска исторического тренда рабочей нагрузки за период между 2009-09-21 и 2009-09-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

Дополнительные ресурсы

Дополнительные сведения см. на следующей странице веб-сайта Майкрософт: COALESCE (Transact-SQL).

Дополнительные сведения о компенсирующих записях см. на следующей странице веб-сайта Майкрософт: Блог NEricson.

См. также

Основные понятия

Анализ и включение в отчеты данных рабочих элементов и тестовых случаев с использованием перспективы "Рабочий элемент"

Отчет "Выработка" в формате Excel

Отчет "Команда тестирования: ход выполнения" в формате Excel

Ссылка на таблицу для базы данных реляционного хранилища для Visual Studio ALM