我们需要从“Microsoft.VSTS.Scheduling.CompletedWork”字段中获取每日数据(详见Workload, scheduling and time tracking field references)。但是我从Analysis数据库中获取数据,发现它只记录了最后一个新数据,无法获取历史数据。
例如ID 2016年的任务,“完成工作”是2016/8/4的3小时,我在2016/8/5第二天从分析数据库中获得了3小时的确切数据, the pictures in this post show
然后在2016/8/5,我将“CompletedWork”从3小时更新为4小时,我在2016/8/6的第二天从Analysis数据库中获得了确切的4小时数据。然而,2016/8/4的3小时数据丢失了。那么,我怎样才能获得“Microsoft.VSTS.Scheduling.CompletedWork”的历史数据?
答案 0 :(得分:1)
首先,了解CompletedWork是累积数据字段非常重要。因此,当一个用户输入3而另一个用户输入4时,该字段的总工作小时数 4 而不是 7 。
仓库具有一天的粒度并将该数据保存在多维数据集中,尽管关系仓库表将在每个修订版的基础上存储对可报告字段的所有更改。您无法使用qube或Excel Power Pivot轻松查询此数据,并且它们会在Dim *和fact *表中丢失,但您可以针对tfs_warehouse
编写SQL查询并遍历包含工作项数据的表(tbl_workitems[are|were|latest])
。遗憾的是,这种情况要慢得多,而且难以构建。
您的另一种选择是使用TFS客户端对象模型并直接查询WorkItemStore对象。您将能够查询所有感兴趣的工作项并迭代它们及其修订版。 The API for workitems is relatively easy to use and is well documented
如果你在TFS 2015上,你也可以使用新的REST api to query workitem data and revisions.