Таблицы журналов рабочих элементов
С помощью таблицы фактов FactWorkItemHistory и связанных с ней таблиц измерений можно запрашивать исторические данные об ошибках, задачах и других типах рабочих элементов, как показано на следующем рисунке.Исторические данные позволяют получить представление об изменениях статуса рабочего элемента или значения поля рабочего элемента на протяжении того или иного времени.Примерами отчетов, формируемых по таблицам истории рабочих элементов, являются диаграммы хода выполнения и выработки.Эти данные хранятся с использованием компенсирующих записей.
Дополнительные сведения о мерах и измерениях, которые сопоставлены с этими таблицами в кубе служб аналитики SQL Server, см. в разделе Анализ данных рабочего элемента и тестового случая с помощью перспективы рабочего элемента и составление соответствующего отчета.
Таблица фактов FactWorkItemHistory связана с таблицей фактов FactCurrentWorkItem и со следующими таблицами измерений:
DimArea;
DimIteration;
DimPerson;
DimTeamProject.
Следующий пример запроса можно использовать для поиска исторического тренда рабочей нагрузки за период с 21.09.2009 г. по 30.09.2009 г. для определенных описаний функциональности пользователей.Для каждого описания функциональности пользователя в командном проекте запрос возвращает данные об общем объеме выполненных работ, исходных предполагаемых трудозатратах, оставшихся трудозатратах и суммарных баллах за каждый день в указанном периоде.Дополнительные сведения о пользовательских описаниях функциональности см. в разделе Описание функциональности пользователя (гибкая разработка).
Примечание |
---|
В запросе предполагается, что описание функциональности пользователя связано с другими рабочими элементами посредством дочерних связей. |
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's Weblog (на английском языке).
См. также
Основные понятия
Отчет "Выработка" в формате Excel
Отчет "Команда тестирования: ход выполнения" в формате Excel
Создание отчетов с использованием реляционной базы данных хранилища для Visual Studio ALM