#sql #tfs #azure-devops #warehouse
#sql #tfs #azure-devops #хранилище
Вопрос:
Я создаю отчет Power BI для отображения выполнения тестов для Azure DevOps (предварительно). Эти данные не отображаются через OData, поэтому я должен использовать оперативное подключение к экземпляру анализа TFS. Из-за текущего подключения в Power BI я не могу добавить в модель данных, как хотелось бы. Я написал несколько запросов для извлечения данных из нужного мне хранилища данных, но я заметил, что в таблице FactTestResult есть несколько дополнительных строк, которые содержат значения для PointId и ChangeNumber — не совсем уверен, для чего используются эти записи, поскольку я не вижу их в пользовательском интерфейсе Azure DevOps Server 2020. Добавление фильтра resultCount = 1 приведет к удалению этих других строк, в результате чего получится одна строка. Однако осталась только одна строка, в которой AreaSK и IterationSK оба равны нулю — в отличие от столбцов, которые я только что отфильтровал. В идеале я мог бы присоединиться к области и итерации, и я могу обойти эту проблему, я просто хотел бы понять, какова цель этих дополнительных строк — PointID и ChangeNumber и есть ли лучший способ написать запрос истории выполнения теста ниже.
SELECT *
FROM [Tfs_Warehouse].[dbo].[vFactTestResultOverlay] FTRO
join vDimTestRunOverlay DTRO on
DTRO.TestRunSK = FTRO.TestRunSK
where DTRO.TestRunId = "testRunID" and
TeamProjectCollectionSK = "projectCollectionID"
Комментарии:
1. Есть какие-либо обновления для этой проблемы? Вы решили эту проблему? Если нет, не могли бы вы сообщить мне последнюю информацию об этой проблеме?
Ответ №1:
Проблема хранилища данных TFS, извлекающая историю выполнения тестов — дополнительные строки в таблице фактических результатов (PointID, ChangeNumber)
Для PointID
мы могли бы знать, что это идентификатор тестовой точки. Действительно, мы не можем видеть это непосредственно в пользовательском интерфейсе, но мы могли бы получить это с помощью REST API:
GET https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/Suites/{suiteId}/points?api-version=6.0
И мы могли видеть точки в пользовательском интерфейсе:
Для ChangeNumber
я также не смог получить много информации об этом, только документ об этом:
Комментарии:
1. Запросы REST api или OData хороши для использования с Power BI. Однако моим предпочтительным методом было использование SSR для отчетов с разбивкой на страницы, что означало, что Tfs_Warehouse был немного лучшим вариантом в моем случае. Также я хотел получить сводку по всем проектам и планам тестирования в одном запросе. Очень признателен за ваш вклад.
Ответ №2:
используя код, аналогичный следующему, мне удалось упорядочить и найти самую последнюю запись без нулевых записей для итерации и области. В конце явно не ссылались на 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