Я пытаюсь создать запрос MDX для куба TFS, который получает исторические значения поля Оценка. Для каждой задачи я хочу получить последнюю оценку для каждого человека, который установил поле Оценка. Например, если Боб, руководитель проекта, устанавливает оценку на 24 часа, а затем Дейв, разработчик, устанавливает ее на 32 часа, я хочу создать запрос, который показывает отклонение каждой из их оценок от реального отработанного времени [Работа завершена].
Проблема, с которой я сталкиваюсь, заключается в том, что исторические значения рабочих элементов в TFS отслеживаются с помощью оборотов (ревизий), но TFS помещает как положительные, так и отрицательные значения в одну версию для рабочих элементов, которые изменяются. Что делает сумму похожей на 0 / пустую ячейку.
Например, Боб устанавливает оценку 24 в версии 2. Затем Дейв устанавливает 32 в версии 3. TFS добавляет в хранилище данных еще одну строку с -24 для версии 2. Когда это свернуто, я не вижу оценка Боба.
Как выбрать только положительные значения? Я попытался использовать функцию фильтра, и это возвращает правильные члены, но значение ячейки по-прежнему равно нулю
with
member [Last Estimate] as [Measures].[Microsoft_VSTS_CMMI_Estimate]
SELECT
{nonempty([Changed By].[Person].[All].Children*[Last Estimate])} ON 0,
{nonempty([Work Item].[System_Id].[System_Id]*Filter([Work Item].[System_Rev].[All].Children, [Measures].[Microsoft_VSTS_CMMI_Estimate] > 0))} ON 1
FROM [Work Item History]
WHERE [Team Project].[Team Project].&[29];
Вот результаты
Work rev Bob Dave
Item Last Estimate Last Estimate
7446 2 (null) (null)
7446 3 (null) 32.0
В каждом ряду должно быть значение для одного из двух людей.
Заранее спасибо!