微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TFS数据仓库问题提取测试运行历史记录-FactTestResult表中的多余行PointID,ChangeNumber

如何解决TFS数据仓库问题提取测试运行历史记录-FactTestResult表中的多余行PointID,ChangeNumber

我正在构建Power BI报表以显示Azure DevOps的测试执行(本地)。该数据未通过OData公开,因此我必须使用与TFS Analysis实例的实时连接。由于Power BI中的实时连接,因此我无法根据需要添加到数据模型。我已经写了一些查询来从我需要的数据仓库中检索数据,但是我注意到FactTestResult表中有很多额外的行,其中包含 PointId和ChangeNumber的值-不能确定这些记录是什么因为我无法在用户界面中看到它们-Azure DevOps Server 2020 添加过滤器ResultCount = 1将删除这些其他行,从而得到单行。但是,仅剩下一行, AreaSK和IterationSK均为空-与我刚刚过滤掉的列不同。理想情况下,我可以加入Area和Iteration,并且可以解决此问题,我想了解这些额外行的目的是什么-PointID和ChangeNumber,并且有更好的方法编写Test执行历史记录在下面查询

SELECT *
  FROM [Tfs_Warehouse].[dbo].[vFactTestResultOverlay] FTRO
  join vDimTestRunOverlay DTRO on 
  DTRO.TestRunSK = FTRO.TestRunSK 
  where DTRO.TestRunId = "testRunID" and 
  TeamProjectCollectionSK = "projectCollectionID"

enter image description here

解决方法

TFS数据仓库在提取测试运行历史记录时遇到问题-FactTestResult表中的多余行(PointID,ChangeNumber)

对于PointID,我们可以知道它是测试点的ID。确实,我们无法在UI上直接看到它,但是可以通过REST API来获取它:

Points - List

GET https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/Suites/{suiteId}/points?api-version=6.0

enter image description here

我们可以在UI上看到点:

enter image description here

对于ChangeNumber,我也没有得到太多的信息,只是有关它的文档:

Test Results and Test Runs

,

使用类似于以下的代码,我设法排序并找到了最近的记录,而没有迭代和区域的空条目。最后没有明确提到changeNumber。

select 
*,Row_Number() over (partition by FTR.TeamProjectSK,FTR.TestSuiteSK,FTR.TestCaseId,FTR.ConfigurationSK order by FTR.ResultDate desc) as TestResultsPerTestCaseOrderedDesc
from [Tfs_Warehouse].[dbo].[FactTestResult] FTR 
where PointrecordCount = 1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。