2017-02-07 9 views
0

SQLを使用して、バックログの順序でTFS(2013)から製品のバックログ項目をリストしようとしています。現在のイテレーションを見ると、on-prem web portalで見たものと同じものにする必要があります。TFS2013:SQLを使用して製品のバックログアイテムを注文するにはどうすればよいですか?

この注文がどこに保存されているかわかりません。スクラムテンプレートが適用されました。おそらくフィールドがDimWorkItemテーブルにまったく存在しないのでしょうか?

次のクエリは、完璧な順序ではなく、私が望むリストを取得します。

select t1.System_id, 
     t1.System_Title, 
     t1.System_State, 
     t1.system_rev, 
     t1.Microsoft_VSTS_Common_BacklogPriority 
     from Tfs_Warehouse.dbo.DimWorkItem t1 
INNER JOIN 
(
    select System_id, MAX(system_rev) system_rev 
    FROM Tfs_Warehouse.dbo.DimWorkItem where 
    System_WorkItemType='Product Backlog Item' and AreaSK=62 
    group by System_id 
) pbi_recentT 
ON t1.System_Id=pbi_recentT.System_Id and t1.system_rev=pbi_recentT.system_rev 
order by IterationSK desc, Microsoft_VSTS_Common_BacklogPriority asc 
+0

最後の行で '' IterationSK desc、 '' 'を削除しようとしましたか?優先順位を並べ替える場合は、他の列が並べ替えを中止する可能性があります。 – Anand

+0

反復はインクリメンタルな数値です(基本的にスクラムのスプリント)、バックログの優先順位は非常に大きい乱数のようです。 – GilesDMiddleton

+0

*がゆっくりと離れていく:) – Anand

答えて

0

TFSにおける受注残高は、プロセスの設定で定義されたバックログ項目の順序は、「注文」フィールドによって決定され、作業項目の順序付きリストです。私たちが出荷するプロセステンプレートは、この「注文」フィールドに異なるフィールドを使用します。 Scrumテンプレートでは "Backlog Priority"というフィールドが使用され、AgileとCMMIのテンプレートでは "Stack Rank"というフィールドが使用されます。

あなたのケースでは、バックログの優先順位が正しいです。

+0

私のクエリの結果をtfs Web Portal(前提)のビューと比較すると、それは同じではないメインのバックログまたは特定の領域の反復レベルのいずれかで実行されます。 Stacked Rankフィールドは空白なので、Webポータルでの注文を表す別のフィールドが必要です。おそらく、SQLプロファイラを利用して何が起こっているのかを知ることができます。たぶん、「Webオーダー」を格納する別のテーブルがあります。 – GilesDMiddleton

+0

スクラムプロセステンプレートを使用しているので、 "バックログ優先度"フィールドを使用する必要があります。 –

+0

このページにアクセスして生成されたSQLを見ると、先祖の優先順位と先祖の優先順位を考慮していると思いますので、個々の作業項目の優先順位による順序と同じくらい単純ではありません。たぶん、TVFのGetWorkItemsTree()は私のためにこれを行うことができますか? – GilesDMiddleton

関連する問題