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


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

Вы можете запрашивать данные о связях между ошибками, задачами и другими типами рабочих элементов с помощью таблицы FactWorkItemLinkHistory и соответствующих таблиц измерений. Чтобы включить сведения о связанных рабочих элементах, подключите SourceWorkItemID и TargetWorkItemID к Dim.System_ID.

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

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

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

  • DimTeamProject

  • DimPerson

  • DimWorkItem

Примечание

Эта таблица содержит удаленные связи.Если связь не была удалена, ее параметр RemovedDate имеет значение "1 января 9999".В случае удаления связи параметр даты удаления получает значение даты и времени, когда связь была удалена.Вы можете использовать RemovedDate > GetDate(), чтобы отфильтровать удаленные связи.

С помощью приведенного ниже образца запроса можно искать следующие типы сведений:

  • общее число часов выполненной работы;

  • исходная оценка объема работ;

  • оставшаяся работа;

  • общее число баллов для каждой пользовательской истории в командном проекте по заданному пути к области.

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

Примечание

В запросе предполагается, что пользовательская история связана с другими рабочими элементами посредством дочерних связей.

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 
     wi.System_Title
    ,wi.System_Id
    ,coalesce(sum(cwi_child.Microsoft_VSTS_Scheduling_CompletedWork), 0) as Total_CompletedWork -- Finds the total number of hours of completed work.
   ,coalesce(sum(cwi_child.Microsoft_VSTS_Scheduling_OriginalEstimate), 0) as Total_OriginalEstimate --Finds the total number of hours of original estimate.
    ,coalesce(sum(cwi_child.Microsoft_VSTS_Scheduling_RemainingWork), 0) as Total_RemainingWork --Finds the total number of hours of remaining work.
    ,coalesce(sum(cwi_child.Microsoft_VSTS_Scheduling_StoryPoints), 0) as Total_StoryPoints --Finds the total story points.
from
    DimWorkItem wi
cross apply
    GetWorkItemsTree(@TeamProjectCollectionGuid, wi.System_Id, N'Child', DEFAULT) wit 
left join        
    FactCurrentWorkItem cwi_child
        on cwi_child.WorkItemSK = wit.ChildWorkItemSK
where
    wi.TeamProjectSK = @TeamProjectNodeSK 
    and wi.System_WorkItemType = N'User Story'
    and wi.System_RevisedDate = CONVERT(datetime, '9999', 126)--The revised date of the work item is equal to today.
    and wi.System_State = N'Active'
group by wi.System_Id, wi.System_Title
order by wi.System_Id

См. также

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

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

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

Другие ресурсы

Определение пользовательского типа связи