2008-12-19 4 views
1

Nous sommes sur Team Foundation Server 2008 et j'essaie de trouver un moyen de rendre compte du changement dans le travail accompli de semaine en semaine au niveau de la tâche. La requête MDX ci-dessous fonctionne plutôt bien, mais je voudrais me débarrasser du besoin de coder en dur la date de la semaine dernière. J'ai essayé d'utiliser prevmember et parallelperiod sans succès, mais je ne suis pas un expert MDX.Comment puis-je rendre compte des travaux terminés pour une semaine donnée dans le cadre de TFS 2008?

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] 

Répondre

2

Consultez le rapport Travail terminé. Il définit automatiquement l'un de ses champs de date à aujourd'hui moins un mois.

EDIT: Je viens de me connecter à mon système de travail pour vérifier. Le rapport est en fait appelé "Travail restant". Accédez au portail SharePoint créé pour votre projet d'équipe et recherchez la liste des rapports standard. Ce sera dans cette liste. Vous pouvez exporter ce rapport dans un fichier, l'ouvrir dans Visual Studio et voir la logique du champ de date.

EDIT2: Pour une fonction MDX pour obtenir la semaine précédente, essayez une variation sur ce point: http://social.msdn.microsoft.com/Forums/en-US/tfsreporting/thread/0a656453-eaf1-47a2-a376-cb6eaec0db51

0

@sliderhouserules - Je pris un coup d'œil à ce rapport et il semble qu'il est en train de prendre la date entrée et en utilisant la fonction strtomember. Dans ma requête, il semble que ce serait l'équivalent de la ligne à la date codée en dur avec:

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

Cela fonctionne très bien. Cependant, ce que je veux vraiment, c'est éliminer le besoin de coder dur. J'ai essayé d'utiliser la fonction Now() au lieu de la date codée en dur. Je n'ai pas réussi à le faire fonctionner, mais même si je le faisais, cela signifierait toujours que je devrais changer le nombre de jours à soustraire pour revenir au dimanche de la semaine précédente. Il semble qu'il devrait y avoir une fonction MDX qui ferait fonctionner cela. Si ce n'est pas le cas, alors il est peut-être possible de modifier la ligne StrToMember pour dériver la date du dimanche précédent dans le bon format.

+0

Je ne connais pas Jack à propos de MDX. J'ai juste jonglé avec le rapport de travail restant assez pour l'obtenir pour regarder une itération spécifique. Et je sais qu'il remplit automatiquement la date actuelle chaque fois que je l'ouvre, donc en général, il devrait vous aider à trouver votre solution. – sliderhouserules

+0

Ah, je vois ce que vous voulez dire par changer le nombre de jours. Je n'ai pas compris cela de votre PO que vous voulez voir toute la semaine précédente, malgré le jour de la semaine en cours où vous pourriez avoir le rapport. Donc, vous voulez toujours voir le précédent Su-Sa. Je parierais qu'il y a aussi une fonction intégrée. – sliderhouserules

+0

Essayez ceci: http://social.msdn.microsoft.com/Forums/en-US/tfsreporting/thread/0a656453-eaf1-47a2-a376-cb6eaec0db51. – sliderhouserules

Questions connexes