テーブル内のデータのフィルタリング

テーブルにフィルターを適用すると、レコードのサブセットを操作して焦点を絞ることができます。 以下のようなさまざまな要件にフィルターを適用できます:

  • 選択レコードを表示
  • 定義クエリの使用
  • 一致したレコードの結合
  • マップ時間によるフィルター
  • マップ レンジによるフィルター
  • マップ範囲によるフィルター (2D のみ)

結合またはフィルターは、マップまたはシーンから開かれたテーブルでのみ実行できます。

選択レコードを表示

選択したレコードのみを操作するには、テーブル表示を [選択レコードを表示] モードに切り替えます。 [選択レコードを表示] モードでは、テーブル内で選択されているレコードのみがテーブル ビューに表示されます。 開いているテーブルに応じてマップ内で現在選択されているフィーチャを更新するか、テーブル内の選択内容を変更することで、選択内容は変更できます。 テーブルは、現在の選択セットを反映するために動的に更新されます。

  1. [コンテンツ] ウィンドウでスタンドアロン テーブルを右クリックして [開く] Open Table をクリックします。
  2. または、[コンテンツ] ウィンドウでフィーチャ レイヤーを右クリックして [属性テーブル] Open Table をクリックします。
  3. 開いているテーブルの下部にある [選択レコードを表示] 選択レコードを表示 をクリックします。

テーブルを [選択レコードを表示] モードでマップから直接開くには、フィーチャがいくつか選択されている必要があります。 [コンテンツ] ウィンドウで該当するレイヤーを右クリックし、[選択] をポイントして [選択セット表示テーブル] 選択を開く をクリックするか、[データ] タブで [選択セット テーブル] 選択を開く をクリックします。

レイヤーの定義クエリ

テーブル内のレコード リストにフィルターを適用するもう 1 つの方法は、レイヤー プロパティでクエリ式を定義することです。 定義クエリを作成するには、次の手順を実行します。

  1. [コンテンツ] ウィンドウでスタンドアロン テーブルをダブルクリックして、[テーブル プロパティ] ダイアログ ボックスを開きます。
  2. または、[コンテンツ] ウィンドウでフィーチャ レイヤーを右クリックし、[プロパティ] プロパティ をクリックして [レイヤー プロパティ] ダイアログ ボックスを開きます。
  3. [プロパティ] ダイアログ ボックスで、[定義クエリ] ページをクリックします。
  4. フィーチャを選択し、表示したいレコードとフィーチャのサブセットを定義する式を作成します。 [項目の追加] をクリックして、別のフィルターを式に定義します。
  5. [適用] をクリックして式を保存します。 [OK] をクリックして、ダイアログ ボックスを閉じます。

定義クエリを削除するには、[コンテンツ] ウィンドウで該当するレイヤーまたはスタンドアロン テーブルを選択します。 [データ] タブの [定義クエリ] グループで、ドロップダウン リストの設定を [<なし>] に変更します。

ヒント:

[コンテンツ] ウィンドウでレイヤーまたはスタンドアロン テーブルが選択されている場合は、リボンから定義クエリを開始することもできます。 [データ] タブの [定義クエリ] グループで、[ダイアログ ボックス ランチャー] ランチャー をクリックします。

一致するレコードのみとの結合

マップまたはシーン内でテーブル間を結合する場合は、一致するレコードだけを表示するように設定することができます。 これを行うには、[テーブルの結合 (Add Join)] ツールで [すべてのターゲット フィーチャを保持する] チェックボックスをオフにします。

ターゲット テーブルのレコードと一致するレコードが結合テーブルに存在しない場合、結合後のテーブルからそのレコードが削除されます。 ターゲット テーブルがレイヤーの属性テーブルである場合、それらに結合されているデータを持たないフィーチャはマップに表示されません。

結合によって一致するレコードのみを保持する例

注意:

結合テーブルまたはターゲット テーブルのいずれかにクエリ定義が適用されている場合は、結合後のテーブルにそのクエリ定義が反映されます。

マップ時間によるフィルター

マップに時間対応レイヤーが含まれている場合は、現在のマップ時間に基づいてテーブル内のレコードがフィルタリングされます。 マップ ビュー内でタイム スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。 デフォルトでは、マップ内で時間が有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [時間によるフィルター処理] 時間によるフィルター をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからもアクセスできます。

マップ レンジによるフィルター

マップにレンジ対応レイヤーが含まれている場合は、現在のマップ レンジに基づいてテーブル内のレコードがフィルタリングされます。 マップ ビュー内でレンジ スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。 デフォルトでは、マップ内でレンジが有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [レンジによるフィルター処理] レンジによるフィルター をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからもアクセスできます。

注意:

タイム フィルターとレンジ フィルターを組み合わせて使用することができます。 マップが時間にもレンジにも対応している場合は、テーブルに表示されるレコードに両方のフィルターが適用されます。

マップ範囲によるフィルター

現在のマップ範囲でのテーブル内のレコードのフィルタリングは、2D ビューでしか使用できません。 テーブル ビューにフィルターを適用して、マップの地理的表示範囲内のフィーチャに対応するレコードだけを表示するには、[フィルター] リストのテーブルの下部で [範囲によるフィルタリング] 範囲によるフィルター をクリックします。 オプションで、[テーブル] タブの、[ビュー] タブの、[フィルター] グループで、[範囲] 範囲によるフィルター をクリックします。 マップを別の範囲に画像移動およびズームすると、それに合わせてテーブル内の行が更新されます。 範囲フィルターは、レイヤーの表示設定の影響を受けません。 レイヤーの表示設定が [コンテンツ] ウィンドウで無効になっている場合や表示縮尺範囲の設定によって非表示にされている場合でも、マップ範囲で適切にフィルタリングされたレコードがテーブルに表示されます。

テーブルにフィルター処理されたデータが含まれているかを確認する方法

属性テーブルは、テーブル ウィンドウの下部に、レンジによるフィルター処理 レンジによるフィルター、時間によるフィルター処理 時間によるフィルター、範囲によるフィルタリング 範囲によるフィルター、および 並べ替え テーブル並べ替え済み のフィルター インジケーター ボタンのリストを表示します。 現在適用されているフィルター処理のアイコンは自動的に有効になります。それ以外のボタンは使用できません。 フィルター ボタンをクリックしてフィルターのステータスを無効にし、テーブル内のすべてのレコードを表示します。 レンジ、時間、または範囲によるフィルター処理は、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからも制御できます。 レコードの並べ替えを削除するには、テーブル ビューの最下部にある [並べ替えの解除] ボタン 並べ替えの解除 をクリックするか、列見出しを右クリックして、[ユーザー設定の並べ替え] ユーザー設定の並べ替え をクリックします。 [ユーザー設定の並べ替え] ウィンドウで、[クリア] をクリックします。 または、キーボード ショートカットの Ctrl + Shift + U キーを使用します。

以下の画像は、テーブルがフィルター処理され並べ替えられているときのインジケーター ボタンを示しています。

テーブルがフィルター処理されています。

関連トピック