Как мне сообщить о выполненной работе за определенную неделю в TFS 2008? - PullRequest
1 голос
/ 20 декабря 2008

Мы находимся на Team Foundation Server 2008, и я пытаюсь найти способ сообщать об изменении выполненной работы от недели к неделе на уровне задач. Приведенный ниже MDX-запрос работает довольно хорошо, но я бы хотел избавиться от необходимости жесткого кода даты прошлой недели. Я пытался использовать prevmember и parallelperiod без успеха, но я не эксперт по MDX.

WITH 
MEMBER [Measures].[Completed Work by WI on dt1] AS
(
[Assigned To].[Person].CurrentMember,
[Work Item].[System_Id].CurrentMember,
[Date].[Year Week Date].[Week].&[2008-12-07T00:00:00],
[Measures].[Microsoft_VSTS_Scheduling_CompletedWork]
)

MEMBER [Measures].[Completed Work by WI on dt2] AS
(
[Assigned To].[Person].CurrentMember,
[Work Item].[System_Id].CurrentMember,
[Date].[Year Week Date].CurrentMember,
[Measures].[Microsoft_VSTS_Scheduling_CompletedWork]
)

MEMBER [Measures].[Completed Work] AS
[Measures].[Completed Work by WI on dt2] - [Measures].[Completed Work by WI on dt1]

SELECT
NON EMPTY
{
[Measures].[Completed Work] 
}
ON COLUMNS,

NON EMPTY
{
Filter(
([Assigned To].[Person].[Person],[Work Item].[System_Id].[System_Id],[Work Item].[System_Title].[System_Title]), [Measures].[Completed Work] >0 )
}
ON ROWS

FROM [Team System]

Ответы [ 2 ]

2 голосов
/ 20 декабря 2008

Посмотрите на предоставленный отчет о выполненных работах. Он автоматически устанавливает одно из своих полей даты на сегодня минус один месяц.

РЕДАКТИРОВАТЬ: Просто вошел в мою рабочую систему, чтобы проверить это дважды. Отчет на самом деле называется «Оставшаяся работа». Перейдите на портал SharePoint, который был создан для вашего группового проекта, и найдите список стандартных отчетов. Это будет в этом списке. Вы можете экспортировать этот отчет в файл, открыть его в Visual Studio и увидеть логику поля даты.

РЕДАКТИРОВАТЬ 2: Для функции MDX, чтобы получить на предыдущей неделе, попробуйте изменить это:

0 голосов
/ 22 декабря 2008

@ sliderhouserules - я посмотрел этот отчет, и похоже, что он просто берет введенную дату и использует функцию strtomember. В моем запросе это выглядит как эквивалент строки с жестко закодированной датой:

StrToMember("[Date].[Year Week Date].[Week].&[" + Format(DATEADD("d", -7, "2008-12-21"), "s") + "]")

Это отлично работает. Тем не менее, я действительно хочу избавиться от необходимости что-либо жестко кодировать. Я попытался использовать функцию Now () вместо жестко закодированной даты. Я не смог заставить его работать, но даже если бы я это сделал, это все равно означало бы, что мне нужно изменить количество дней, чтобы вычесть, чтобы вернуться в воскресенье предыдущей недели. Кажется, что должна быть функция MDX, которая бы сделала эту работу. Если нет, то, возможно, есть какой-то способ изменить строку StrToMember, чтобы получить дату предыдущего воскресенья в правильном формате.

...