次の方法で共有


作業項目リンクの履歴テーブル

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 のリレーショナル ウェアハウス データベースのテーブル リファレンス

その他の技術情報

ユーザー設定のリンクの種類の定義