2011-03-03 8 views
12

にXに割り当てられた作業項目を検索します。
大きな問題は「過去30日間」です。私は過去30日間に人Xに割り当てられたすべての作業項目を見つけようとしている過去30日間

私は、「これまで」または「asof」のキーワードを使用して考えたが、WHERE [Assigned To] = 'X' AND (([Assigned To] != 'X') asof '<30daysago>')のようなものが良い答えを見つけることはまだ..ことができませんでした。
これはまだ防弾対策ではありません。

任意のより良いアイデア?

おかげ&種類は、これは単にWIQLを使用しては不可能であることが表示されますが、あなたが近づくことができサイモン

答えて

13

について。

キーワード@Todayは、あなたに今日の日付を与え、その後それから、あなたの範囲を差し引きます。 EVERキーワードが[Status]='AssignedTo'に適用され、過去30日間の[StateChangeDate]との比較がこれを達成するために必要なものです。

あなたがWIQLと既存のフィールドを得ることができる限り近い


これは言う、ユーザー「X」は、これまでAssignedToと国家が最後に変更されたされたすべてのリビジョン(ステータス変更)リターンレコードから30日。これは、基本的に、先月にあなたのユーザが何をしているのかを少し曖昧にしています。

WHERE [Microsoft.VSTS.Common.StateChangeDate] >= @today - 30 
    AND [System.AssignedTo] EVER 'Bennett Aaron' 
    ORDER BY [System.State] 

不足している分野追加:あなたは作業項目の定義XMLで作成する新規作成> AssignedToワークフローの移行時にキャプチャされAssignedDateというカスタムフィールドを追加することができ
を。これは、Visual Studio用のTeam Foundation Server Power Tools拡張機能を使用して実行できます。これにより、必要なものだけでなく、今後の追加のレポートオプションも得られます。

TFSのAPI
私はこの1つのお手伝いをすることはできませんが、私はあなたがTFSのAPIを使用して照会することができ信じています。



私がEVER ASOFとにあなたの時間を節約するために経験した迅速な落とし穴のカップル:

AsOfそれは日付の範囲をサポートしていないとして、これを自身であなたを助けにはなりません。それは別の日付のように照会することができます。言い換えれば、昨日クエリの結果を取得するのを忘れてしまった場合、AsOfクエリを使用して、昨日実行した結果を得ることができます。私が理解することは、基本的な日付範囲を照会することです。

EVERは、それがテストするフィールドの正確な値(日付フィールドのタイムスタンプ部分が含まれます)を使用していると思うので、日付に対して期待通りに機能しない可能性があります。 EVERキーワードが日付ではなくステータスフィールドに対して使用されていることを確認してください。

+0

ありがとうございました。何らかの形で履歴を照会することができると期待しました。余分なフィールドはあまりにも多く、私のプログラムには「持っているだけでいい」という特徴があります。 多分、このようなものを使用することは可能かもしれませんが、それはちょうどトータルオーバーキルだと思います:) '(([Assigned To]!= 'X')asof '<30daysago>')AND(([Assigned To]!= X ')asof' <29daysago> ')...' –

+0

残念ですが、これを更新する前に昼食に行きました!あなたの答えを追加しました。私はあなたのために働くかもしれないEVER句に対していくつかのテストをしていました。私はテストするための多くのデータがないので、私はあなたのために返す基準を知りたいです –

+0

問題はありません!残念ながら、私は過去30日間に変更されたWorkItemをすべて取得し、これまで割り当てられていました。だから私は解析しない2つの他のクエリを試してみました...私はNOTとEVERを組み合わせて使用​​することはできませんし、単一のサテライトに対してASOFを使用することはできず、where節の[System.ChangedDate]を使用できません。 最初に ' ([割り当て先] = 'X')AND [System.ChangedDate]> = @ Today-2 AND NOT([割り当て先] EVER 'X')」および第2のWHERE([割り当て先] = 'X')AND [ System.ChangedDate]> = @ Today-2 AND([割り当て先]!= 'X' ASOF [System.ChangedDate]) ' WIQLでこれを行うことはできないようです –

関連する問題