クエリ フィールド、演算子、値、および変数
作業項目を検索してリストを作成するには、作業項目クエリを作成します。 1 つ以上の句を定義することで、チーム プロジェクトまたはチーム プロジェクト コレクション内のすべての作業項目をフィルター処理し、目的の作業項目のセットを取得します。 それぞれの句には、フィールド、演算子、および値か変数を指定します。 たとえば、特定のチーム プロジェクトのすべての作業項目を検索するには、[チーム プロジェクト] フィールド、等記号 (=) 演算子、および値としてチーム プロジェクトの名前を指定します。 値を指定する代わりに、現在のチーム プロジェクトを表す @Project などの変数も指定できます。
サンプルのクエリ句
および/または |
フィールド |
演算子 |
値 |
AND |
チーム プロジェクト |
= |
@Project |
クエリに関する全般的な情報については、「作業項目のクエリ」を参照してください。 ショートカット キーを使用したクエリ エディターまたはクエリ ビュー内での移動方法については、「キーボード ショートカット: Visual Studio Online、TFS Web ポータル、およびチーム エクスプローラー」を参照してください。
このトピックの内容
および/または
クエリ フィールドと値
クエリ演算子
クエリ変数
フルテキスト検索と単語の一部の検索
インデックス付きフィールドに対するクエリ
クエリ句を定義するためのチェック リスト
最初の空白行の [フィールド] 列見出しで、下向きの矢印をクリックして使用できるフィールドを表示し、一覧から項目をクリックします。
詳細については、「クエリ フィールドと値」を参照してください。
同じ行の [演算子] 列見出しで、下向きの矢印をクリックして使用できる演算子を表示し、一覧から項目をクリックします。
詳細については、「演算子」を参照してください。
同じ行の [値] 列見出しで、値を入力するか、下向きの矢印をクリックして一覧から項目をクリックします。
変数を使用して現在のチーム プロジェクト、ユーザーまたはデータを指定する方法の詳細については、「変数」を参照してください。
句を追加するには、[新しい条件節を追加するにはここをクリックします] または [新しい句を追加] をクリックします。
句は必要に応じて、句の末尾への挿入、既存の句の後への挿入 ()、削除 ()、グループ化 ()、およびグループ化の解除 () を行うことができます。
および/または
クエリ句の論理式を作成するには、[AND] または [OR] を指定します。 現在の句と前の句の両方の抽出条件を満たす作業項目を検索する場合は、[AND] を指定します。 現在の句か前の句のいずれかの抽出条件を満たす作業項目を検索する場合は、[OR] を指定します。
検索条件を絞り込むために、各作業項目フィールドに対して新しい句を 1 つ追加して、目的の作業項目セットのみを返すようにできます。 クエリから予期していた結果が得られなかった場合は、クエリ句を追加、削除、グループ化、またはグループ解除し、クエリ結果を絞り込むことができます。
クエリ句をグループ化して、残りのクエリから分離した 1 つの単体として操作できます。これは、数学の方程式や論理式の一部をかっこで囲むのと似ています。 句をグループ化する場合、グループ内の最初の句に対する AND または OR が、グループ全体に適用されます。
次の例に示すように、グループ化された句は対応する論理式に変換されます。 最初の式は、優先度 1 の作業項目と、任意の優先度のアクティブなすべてのバグを返します。 2 番目の式は、優先度 1 のアクティブなすべての作業項目と、優先度 1 のすべてのバグ (アクティブであるかないかに関係なく) を返します。
グループ化された句 |
論理式 |
---|---|
Priority=1 OR (Work Item Type=Bug AND State=Active) |
|
Priority=1 AND (Work Item Type=Bug OR State=Active) |
詳細については、「クエリのフィルター条件の指定」を参照してください。
クエリ フィールドと値
各フィールドに指定する値は、そのフィールドのデータ型に適合している必要があります。 次の表は、サポートされるデータ型の一覧を示します。
データ型 |
格納されるデータ |
---|---|
DateTime |
世界協定時刻 (UTC: Coordinated Universal Time) の日時。 @Today や @Today-1 などの変数や、「1/1/2012」などの値を指定できます。 |
Double |
0.2、3.5 などの実数。 |
GUID |
一意の ID を表す文字列。 |
History |
履歴情報を追跡するために使用されるカスタム書式のフィールド。 このデータ型は、[履歴] フィールドをサポートするためにのみ使用されます。 フルテキスト検索が利用可能な場合は、このフィールドに対してフルテキスト検索用のインデックスが自動的に作成されます。 このトピックの後半で説明する「フルテキスト検索と単語の一部の検索」を参照してください。 |
HTML |
[説明] フィールドや [ステップの再現] フィールドなどの書式付きの説明をサポートするテキスト文字列。 フルテキスト検索が利用可能な場合は、これらのフィールドに対してフルテキスト検索用のインデックスが自動的に作成されます。 このトピックの後半で説明する「フルテキスト検索と単語の一部の検索」を参照してください。 注意 Team Foundation Server にアップグレードすると、[説明] フィールドのフィールドの種類が PlainText から HTML に変更されます。witadmin changefield コマンドを使用すると、必要に応じてこのフィールドのデータ型を元に戻すことができます。「作業項目フィールドの管理 [witadmin]」を参照してください。 |
Integer |
0、1、2、34 などの符号付き 32 ビット整数。 |
PlainText |
[アプリケーション開始情報] フィールドなどの長い説明をサポートするテキスト文字列。 フルテキスト検索が利用可能な場合は、これらのフィールドに対してフルテキスト検索用のインデックスが自動的に作成されます。 このトピックの後半で説明する「フルテキスト検索と単語の一部の検索」を参照してください。 |
String |
最大 255 文字の Unicode 文字を含む短いテキスト文字列。 |
TreePath |
区分パスやイテレーション パスなどの分岐ツリー構造。 有効値の一覧で項目を選択する必要があります。 同じツリー構造またはツリー構造の下で作業項目を検索できます。 詳細については、「区分およびイテレーション パスの追加および変更」を参照してください。 |
ページのトップへ
クエリ演算子
次の表のクエリ演算子を使用すると、句内の各値を対応する作業項目内の値に関連付ける方法を指定できます。 作業項目フィールドに割り当てられるデータ型の詳細については、「Visual Studio ALM の作業項目フィールド参照」を参照してください。
クエリ演算子 |
作業項目の値が抽出条件と一致した場合に作業項目が返される |
適用可能なデータの種類 |
---|---|---|
= |
句内の値と一致する。 |
Double、GUID、Integer で表される数値、String、DateTime、および TreePath |
<> |
句内の値と一致しない。 |
数値、String、DateTime、および TreePath |
> |
句内の値より大きい。 |
数値、String、および DateTime |
< |
句内の値より小さい。 |
数値、String、および DateTime |
>= |
句内の値より大きいか等しい。 |
数値、String、および DateTime |
<= |
句内の値より小さいか等しい。 |
数値、String、および DateTime |
=[フィールド] |
指定したフィールドに含まれる値と一致する。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
<>[フィールド] |
指定したフィールドに含まれる値と一致しない。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
>[フィールド] |
指定したフィールドに含まれる値より大きい。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
<[フィールド] |
指定したフィールドに含まれる値より小さい。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
>=[フィールド] |
指定したフィールドに含まれる値より大きいか等しい。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
<=[フィールド] |
指定したフィールドに含まれる値より小さいか等しい。 |
指定されたフィールドと同じデータ型のフィールドの名前 |
次の値を含む |
フィルター処理の対象として選択したフィールドが、テキスト文字列に完全または部分的に一致する。 |
String |
次の値を含まない |
フィルター処理の対象として選択したフィールドが、テキスト文字列に完全にも部分的にも一致しない。 |
String |
語を含む |
フィルター処理の対象として選択したフィールドに、テキスト文字列または単語の完全一致が含まれる。 ワイルドカード文字 "*" を使用して、単語や語句の一部を入力することもできます。 制約については、フルテキスト検索の箇所でサーバーと照合順序の要件に関する説明を参照してください。 |
フルテキスト検索用のインデックスが作成される長いテキスト フィールド。PlainText および HTML のすべてのフィールドと、[タイトル] が該当します。 |
語を含まない |
フィルター処理の対象として選択したフィールドに、テキスト文字列または単語の完全一致が含まれない。 |
フルテキスト検索用のインデックスが作成されるテキスト フィールド。 |
イン |
区切られた値と一致する。 たとえば、ID が 100、101 および 102 の作業項目は、[ID] フィールドにこれらの値を指定すると検索できます。 重要 値は、クライアント コンピューターに定義されている地域設定に対応するリスト区切り記号で区切ります。たとえば、コンマ (,) を使用できます。 |
数値、String、DateTime、TreePath |
グループ内 |
句内のグループのメンバーである値と一致する。 カテゴリまたは TFS グループの名前に対応するグループ。 たとえば、貢献者グループのメンバーまたはチームに割り当てられているすべての作業項目を検索するクエリを作成できます。 チーム グループは、チームを作成したときに作成されます。 チーム グループの名前は、 [チーム プロジェクト名]\ チーム名 パターンの後に続けます。 セキュリティ グループや電子メール配布グループを値として指定することはできません。 作業例として、Example queries を参照してください。 |
String のユーザー グループまたはカテゴリ グループの名前に一致する Team Foundation Server。 注意 [グループ内] 演算子は、String 型を使用しているフィールドまたは [作業項目の種類] フィールドにのみ使用できます。 カテゴリ グループの詳細については、「カテゴリを使用した作業項目の種類のグループ化」を参照してください。 |
グループ外 |
句内のグループのメンバーである値と一致しない。 |
String のユーザー グループまたはチーム プロジェクトに定義されているカテゴリ グループの名前に一致する Team Foundation Server。 注意 [グループ外] 演算子は、String 型を使用しているフィールドまたは [作業項目の種類] フィールドにのみ使用できます。 カテゴリ グループの詳細については、「カテゴリを使用した作業項目の種類のグループ化」を参照してください。 |
次の値と等しかったことがある |
句内の値が前のいずれかと一致する。 |
String, DateTime |
次の値の下 |
句内の値と一致するか、または句内のノードの下に含まれる。 |
TreePath |
次の値の下ではない |
句内の値と一致せず、かつ句内のノードの下に含まれない。 |
TreePath |
ページのトップへ
クエリ変数
次の表の変数を使用すると、現在のユーザー、現在のプロジェクト、現在の日付に関連する作業項目を検索できます。
クエリ変数 |
使用法 |
---|---|
@Me |
この変数を使用すると、ユーザー エイリアスを含むフィールドで、現在のユーザーのエイリアスを自動検索できます。 たとえば、自分が開いた作業項目を検索するには、[フィールド] 列を [アクティブ化した人] に、[演算子] 列を [=] に、[値] 列を @Me に、それぞれ設定します。 |
@Project |
この変数を使用すると、現在のチーム プロジェクト内の作業項目を検索できます。 たとえば、現在のチーム プロジェクト内のすべての作業項目を検索するには、[フィールド] 列を [チーム プロジェクト] に、[演算子] 列を [=] に、[値] 列を @Project に、それぞれ設定します。 |
@Today |
この変数を使用すると、現在の日付または以前の日付に関連する作業項目を検索できます。 また、@Today 変数から日数を引いた値を使用することもできます。 たとえば、[フィールド] 列を [アクティブ化された日] に、[演算子] 列を [>=] に、[値] 列を @Today - 7 にそれぞれ設定すると、過去 1 週間にアクティブ化されたすべての項目を検索できます。 |
[Any] |
この変数を使用すると、特定のフィールドに定義されている値に関連した作業項目が検索されます。 |
ページのトップへ
フルテキスト検索と単語の一部の検索
単語や語句に対する完全一致または部分一致を検索するには、[次の値を含む] または [次の値を含まない] を指定します。 語句に対する完全一致を検索したり、ワイルドカード文字 "*" を使用したりするには、[語を含む] または [語を含まない] を指定します。 これらの演算子では全文検索インデックスが使用されます。 ワイルドカード文字は、単語や語句の一部である文字列の末尾でのみ使用できます。
例については、「作業項目クエリの例」および「[履歴] フィールドを使用した作業項目のクエリ」を参照してください。
注意
すべての配置でフルテキスト検索がサポートされるとは限りません。たとえば、Visual Studio Online をサポートする SQL Express と SQL Azure ではフルテキスト検索をサポートしていません。これらのインスタンスでは、[次の値を含む] 演算子と [次の値を含まない] 演算子だけが表示されます。
[語を含む] と [語を含まない] では、長いテキスト フィールドに対して作成されたフルテキスト検索インデックスに基づいて項目がフィルター処理されます。 Team Foundation では、データ型が PlainText と HTML のすべての長いテキストのフィールド、および [タイトル] フィールドに対し、フルテキスト検索用のインデックスを自動的に設定します。 インデックスと演算子は、Team Foundation Server をサポートする SQL Server でフルテキスト検索がサポートされている場合にのみ使用できます。
フルテキスト検索では、SQL Server にワード ブレーカーが登録されている言語に対応する SQL 照合順序が必要です。 Team Foundation Server インスタンスで使用されているチーム プロジェクト コレクション データベースの照合順序の設定が、サポートされている言語に応じたものでないと、検索結果が期待どおりにならないことがあります。 このような場合は、[次の値を含む] 演算子または [次の値を含まない] 演算子を試すことができます。
詳細については、「フルテキスト検索のクエリと照合順序設定」を参照してください。
インデックス付きフィールドに対するクエリ
フルテキスト検索インデックスのほかに、クエリ インデックスも作成されます。 これは、インデックスの作成が有効になっているフィールドに基づいて作成されます。 クエリ インデックスにより、インデックス付きフィールドが含まれるクエリを実行したときの応答時間が短縮されます。
既定では、[担当者]、[作成日]、[変更者]、[状態]、[理由]、[区分 ID]、[イテレーション ID]、[作業項目の種類] の各フィールドにインデックスが付けられます。 チームがクエリで頻繁に使用するフィールドが他にある場合、それをクエリ インデックスに追加できます。
特定のフィールドのインデックス作成を有効または無効にするには、witadmin indexfield コマンドを使用します。 「作業項目フィールドの管理 [witadmin]」を参照してください。