作業項目リンクの履歴テーブル
FactWorkItemLinkHistory とそれに関連付けられているディメンション テーブルを使用して、バグ、タスク、およびその他の種類の作業項目の間にあるリンクを照会できます。 リンクされた作業項目の詳細を含めるには、SourceWorkItemID と TargetWorkItemID を Dim.System_ID に結合します。
SQL Server Analysis Services キューブのこれらのテーブルに関連付けられているメジャーとディメンションの詳細については、「作業項目パースペクティブを使用した作業項目とテスト ケース データの分析およびレポート」を参照してください。
FactWorkItemLinkHistory は、以下のディメンション テーブルに関連付けられています。
DimTeamProject
DimPerson
DimWorkItem
注意
このテーブルには、削除されたリンクが含まれています。削除されていないリンクでは、RemovedDate が Jan 1, 9999 に設定されています。リンクが削除されると、RemovedDate には、そのリンクが削除された日時が設定されます。RemovedDate > GetDate() を使用して、削除されたリンクをフィルターで除外できます。
以下のサンプル クエリを使用して、次の種類の情報を検索できます。
実績作業の合計時間数
最初の見積もり作業
残存作業
指定した区分パス下のチーム プロジェクトの各ユーザー ストーリーの合計ストーリー ポイント
サンプル クエリで使用されている Coalesce 関数については、Microsoft Web サイトの「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 のリレーショナル ウェアハウス データベースのテーブル リファレンス