昨日のエントリにid:karuakunからコメントもらって進みました。ありがとう!
まずはSQL Serverにビューを作成します。ビューの名前はMy_BugSpotsで。
CREATE VIEW [dbo].[My_BugSpots] AS SELECT TOP (100) PERCENT a.ItemId, a.CreationDate, b.ParentPath, b.ChildItem FROM (SELECT dbo.tbl_Version.ItemId, dbo.tbl_ChangeSet.CreationDate FROM dbo.tbl_ChangeSet INNER JOIN dbo.tbl_Version ON dbo.tbl_ChangeSet.ChangeSetId = dbo.tbl_Version.VersionFrom) AS a INNER JOIN dbo.tbl_VersionedItem AS b ON a.ItemId = b.ItemId GO
これでたとえばこんな感じでSQLを発行するとこんな結果が出ます。
SELECT [ItemId] ,[CreationDate] ,[ParentPath] ,[ChildItem] FROM [Tfs_DefaultCollection].[dbo].[My_BugSpots] order by CreationDate desc
同じファイルが重複して出ていますが、ファイル単位にチェックインの頻度を集計するというものなので問題ありません。フォルダーまで入っちゃってますが、フォルダーを排除する方法はなんとなくわかるんですが、今のところ何もなしで。
これで元データの用意ができたので次は集計です。クライアントサイドでやってもいいんですが、ストアドでやろうかなという気もあります。