テーブルにフィルターを適用すると、レコードのサブセットを操作して焦点を絞ることができます。 以下のようなさまざまな要件にフィルターを適用できます:
- 選択レコードを表示
- 定義クエリの使用
- 一致したレコードの結合
- マップ時間によるフィルタリング
- マップ レンジによるフィルタリング
- マップ範囲によるフィルタリング (2D のみ)
結合またはフィルターは、マップまたはシーンから開かれたテーブルでのみ実行できます。
選択レコードを表示
選択したレコードのみを操作するには、テーブル表示を [選択レコードを表示] モードに切り替えます。 [選択レコードを表示] モードでは、テーブル内で選択されているレコードのみがテーブル ビューに表示されます。 開いているテーブルに応じてマップ内で現在選択されているフィーチャを更新するか、テーブル内の選択内容を変更することで、選択内容は変更できます。 テーブルは、現在の選択セットを反映するために動的に更新されます。
- [コンテンツ] ウィンドウでスタンドアロン テーブルを右クリックして [開く] をクリックします。
- または、[コンテンツ] ウィンドウでフィーチャ レイヤーを右クリックして [属性テーブル] をクリックします。
- 開いているテーブルの下部にある [選択レコードを表示] をクリックします。
テーブルを [選択レコードを表示] モードでマップから直接開くには、フィーチャがいくつか選択されている必要があります。 [コンテンツ] ウィンドウで該当するレイヤーを右クリックし、[選択] をポイントして [選択セット表示テーブル] をクリックするか、[データ] タブで [選択セット テーブル] をクリックします。
レイヤーの定義クエリ
テーブル内のレコード リストにフィルターを適用するもう 1 つの方法は、レイヤー プロパティでクエリ式を定義することです。 定義クエリを作成するには、次の手順を実行します。
- [コンテンツ] ウィンドウでスタンドアロン テーブルをダブルクリックして、[テーブル プロパティ] ダイアログ ボックスを開きます。
- または、[コンテンツ] ウィンドウでフィーチャ レイヤーを右クリックし、[プロパティ] をクリックして [レイヤー プロパティ] ダイアログ ボックスを開きます。
- [プロパティ] ダイアログ ボックスで、[定義クエリ] ページをクリックします。
- フィーチャを選択し、表示したいレコードとフィーチャのサブセットを定義する式を作成します。 [項目の追加] をクリックして、別のフィルターを式に定義します。
- [適用] をクリックして式を保存します。 [OK] をクリックして、ダイアログ ボックスを閉じます。
注意:
選択が含まれているレイヤーに定義クエリが追加されると、選択内容が減り、新しい定義クエリにも準拠するフィーチャのみが含まれるようになります。
定義クエリを削除するには、[コンテンツ] ウィンドウで該当するレイヤーまたはスタンドアロン テーブルを選択します。 [データ] タブの [定義クエリ] グループで、ドロップダウン リストの設定を [<なし>] に変更します。
ヒント:
[コンテンツ] ウィンドウでレイヤーまたはスタンドアロン テーブルが選択されている場合は、リボンから定義クエリを開始することもできます。 [データ] タブの [定義クエリ] グループで、[ダイアログ ボックス ランチャー] をクリックします。
一致するレコードのみとの結合
マップまたはシーン内でテーブル間を結合する場合は、一致するレコードだけを表示するように設定することができます。 これを行うには、[テーブルの結合 (Add Join)] ツールで [すべてのターゲット フィーチャを保持する] チェックボックスをオフにします。
ターゲット テーブルのレコードと一致するレコードが結合テーブルに存在しない場合、結合後のテーブルからそのレコードが削除されます。 ターゲット テーブルがレイヤーの属性テーブルである場合、それらに結合されているデータを持たないフィーチャはマップに表示されません。
注意:
結合テーブルまたはターゲット テーブルのいずれかにクエリ定義が適用されている場合は、結合後のテーブルにそのクエリ定義が反映されます。
マップ時間によるフィルタリング
マップに時間対応レイヤーまたはスタンドアロン テーブルが含まれている場合は、現在のマップ時間に基づいてテーブル内のレコードがフィルタリングされます。 マップ ビュー内でタイム スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。 デフォルトでは、マップ内で時間が有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [時間によるフィルター] をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからもアクセスできます。
マップ レンジによるフィルタリング
マップにレンジ対応レイヤーまたはスタンドアロン テーブルが含まれている場合は、現在のマップ レンジに基づいてテーブル内のレコードがフィルタリングされます。 マップ ビュー内でレンジ スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。 デフォルトでは、マップ内でレンジが有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [レンジによるフィルター] をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからもアクセスできます。
注意:
- タイム フィルターとレンジ フィルターを組み合わせて使用することができます。 マップが時間にもレンジにも対応している場合は、テーブルに表示されるレコードに両方のフィルターが適用されます。
- 非 OID テーブルは、マップ プロパティに基づくフィルタリングに対応していません。
マップ範囲によるフィルタリング
現在のマップ範囲での属性テーブル内のレコードのフィルタリングは、2D ビューでしか使用できません。 テーブル ビューにフィルターを適用して、マップの地理的表示範囲内のフィーチャに対応するレコードだけを表示するには、[フィルター] リストのテーブルの下部で [範囲によるフィルタリング] をクリックします。 オプションで、[テーブル] タブの、[ビュー] タブの、[フィルター] グループで、[範囲] をクリックします。 マップを別の範囲に画像移動およびズームすると、それに合わせてテーブル内の行が更新されます。 範囲フィルターは、レイヤーの表示設定の影響を受けません。 レイヤーの表示設定が [コンテンツ] ウィンドウで無効になっている場合や表示縮尺範囲の設定によって非表示にされている場合でも、マップ範囲で適切にフィルタリングされたレコードがテーブルに表示されます。
テーブルにフィルタリングされたデータが含まれているかを確認する方法
テーブルは、テーブル ウィンドウの下部に、レンジによるフィルタリング 、時間によるフィルタリング 、範囲によるフィルタリング 、および 並べ替え のフィルター インジケーター ボタンのリストを表示します。 現在適用されているフィルタリングのアイコンは自動的に有効になります。それ以外のボタンは使用できません。 フィルター ボタンをクリックしてフィルターのステータスを無効にし、テーブル内のすべてのレコードを表示します。 レンジ、時間、または範囲によるフィルタリングは、[テーブル] タブの、[ビュー] タブの、[フィルター] グループからも制御できます。 レコードの並べ替えを削除するには、テーブル ビューの最下部にある [並べ替えの解除] ボタン をクリックするか、列見出しを右クリックして、[ユーザー設定の並べ替え] をクリックします。 [ユーザー設定の並べ替え] ウィンドウで、[クリア] をクリックします。 または、キーボード ショートカットの Ctrl + Shift + U キーを使用します。
以下の画像は、テーブルがフィルタリングされ並べ替えられているときのインジケーター ボタンを示しています。