1

私たちは 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]
4

2 に答える 2

2

提供された作業完了レポートを見てください。日付フィールドの 1 つが、今日から 1 か月を引いた値に自動的に設定されます。

編集:これを再確認するために、私の仕事用システムにログインしました。レポートは、実際には「残りの作業」と呼ばれます。チーム プロジェクト用に作成された SharePoint ポータルに移動し、標準レポートのリストを見つけます。それはそのリストにあります。そのレポートをファイルにエクスポートして Visual Studio で開き、日付フィールドのロジックを確認できます。

EDIT2: MDX 関数で前の週を取得するには、次のバリエーションを試してください: http://social.msdn.microsoft.com/Forums/en-US/tfsreporting/thread/0a656453-eaf1-47a2-a376-cb6eaec0db51

于 2008-12-20T05:47:22.303 に答える
0

@sliderhouserules-そのレポートを調べたところ、入力された日付を取得し、strtomember関数を使用しているようです。私のクエリでは、次のようにハードコードされた日付の行と同等のように見えます。

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

これは正常に機能します。ただし、私が本当に望んでいるのは、何かをハードコーディングする必要をなくすことです。ハードコードされた日付の代わりにNow()関数を使用してみました。動作させることができませんでしたが、動作させたとしても、前の週の日曜日に戻すには、減算する日数を変更する必要があることを意味します。これを機能させるMDX関数があるはずです。そうでない場合は、StrToMember行を変更して、前の日曜日の日付を適切な形式で取得する方法がある可能性があります。

于 2008-12-22T14:44:48.177 に答える