FAQ
ArcGIS Pro: テーブル結合を反復したい (ModelBuilder)

ナレッジ番号:6110 | 登録日:2026/04/07 | 更新日:2026/06/16

概要

ArcGIS Pro の ModelBuilder を使用して、1 つのフィーチャクラスに対して複数のテーブルを順に結合し、各結合結果を個別のフィーチャクラスとして出力する方法を紹介します。
※ 1 つのデータに複数テーブルを累積結合していく処理ではありません。

本 FAQ では、以下の 2 通りの方法について説明します。

  • [テーブルの結合] ツールを使用する方法
    フィーチャクラスに対してテーブルを結合し、その結合状態をもとに後続の処理を行う方法です。
    なお、ツールのパラメーター設定により、結合キーが一致したレコードのみを出力対象とすることが可能です。
    この方法は、次のような場合に適しています。
    • 結合条件に一致したレコードのみを抽出したい
    • 結合元テーブル名を含めたフィールド名で管理したい

    結合されたフィールドの名前は、「結合元テーブル名_フィールド名」の形式で表示されます。
    ※ フィールド エイリアスは元の設定が保持されます。


  • [フィールドの結合] ツールを使用する方法
    テーブルのフィールドをフィーチャクラスに直接追加する方法です。結合後のフィールド名には、結合元のテーブル名は付与されません。
    フィールドマッピングにより以下が可能です。
    • フィールド名の変更
    • フィールド タイプの変更
    • 必要なフィールドのみ選択して結合
    •  
  • フィールド名の重複を避けるため、結合されたフィールドの名前には、フィールド名_1 のように自動的に連番が付与されます。
    ※ フィールドマッピングを使用することで、連番付与を回避することも可能です。



[テーブルの結合] ツールを使用する場合

【モデル例】


【手順】
  1. [解析] タブの [ModelBuilder] をクリックします。


  2. 結合対象となるフィーチャクラスをレイヤーとして作成します。
    本手順では、テーブル結合の状態を後続のツールに引き継いで処理できるよう、フィーチャクラスからテンポラリ レイヤーを作成します。
    ※ あらかじめマップにレイヤーとして追加されている場合は省略可能です。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャ レイヤーの作成」と入力します。
    (2) [検索結果] に表示された [フィーチャ レイヤーの作成] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 追加したツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィーチャ] を選択します。
    (4) [入力フィーチャ] を右クリック → [パラメーター] を選択します。
    (5) [入力フィーチャ] をダブルクリックし、[入力フィーチャ] に対象のフィーチャクラスを指定します。

  3. ModelBuilder に反復処理(テーブル)を追加します。
    (1) [ModelBuilder] タブの [反復] → [テーブルの反復] を選択します。

    (2) [テーブルの反復] 反復子を右クリック → [変数の作成] → [パラメーターから] → [ワークスペース] を選択します。
    (3) [ワークスペース] を右クリック → [パラメーター] を選択します。
    (4) [ワークスペース] をダブルクリック → テーブル データが格納されているフォルダーまたはファイル ジオデータベース(必要に応じてフィーチャ データセット)を指定します。
    (5) [テーブルの反復] 反復子をダブルクリックし、必要に応じてワイルド カードやテーブル タイプを指定します。

  4. [テーブルの結合] ツールを使用して、フィーチャ レイヤーとテーブルをテーブル結合します。
    反復処理で取得したテーブルをフィーチャ レイヤーに結合します。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「テーブルの結合」と入力します。
    (2) [検索結果] に表示された [テーブルの結合] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 手順 2 の出力レイヤーを [入力テーブル] として接続します。
    (4) 手順 3 の出力テーブルを [結合テーブル] として接続します。
    (5) [テーブルの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィールド] を選択します。
    (6) [入力フィールド] を右クリック → [パラメーター] を選択します。
    (7) [入力フィールド] をダブルクリックし、 結合キーとなるフィールドを指定します。
    (8) [テーブルの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [結合フィールド] を選択します。
    (9) [結合フィールド] をパラメーターに設定するには [結合フィールド] を右クリック → [パラメーター] を選択します。
    (10) [結合フィールド] をダブルクリックし、入力フィールドと対応するテーブル側のフィールドを指定します。
    (11) [テーブルの結合] ツールをダブルクリックし、必要に応じて [結合方法] を選択します。
      ※「すべての入力レコードを保持」のチェックを外すことで、結合条件に一致したレコードのみを出力対象とできます。

  5. 結合状態のままフィーチャクラスとして出力します。
    テーブル結合後の内容を、新しいフィーチャクラスとして出力します。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャのコピー」と入力します。
    (2) [検索結果] に表示された [フィーチャのコピー] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 手順 4 の出力データと [フィーチャのコピー] ツールを接続します。
    (4) [フィーチャのコピー] ツールを右クリック → [変数の作成] → [環境から] → [現在のワークスペース] を選択します。
    (5) [現在のワークスペース] を右クリック → [パラメーター] を選択します。
    (6) [現在のワークスペース] をダブルクリックし、出力するフィーチャクラスの格納先を指定します。
    (7) [フィーチャのコピー] ツールをダブルクリックし、[出力フィーチャクラス] を指定します。
      本 FAQ のモデル例では、「%フィーチャの出力先%\FC_%名前%」の形式でインライン変数を使用し、「FC_テーブル名」で出力しています。



  6. テーブル結合を解除します。 次の反復処理に影響しないよう、結合状態を解除します。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「テーブルの結合を解除」と入力します。
    (2) [検索結果] に表示された [テーブルの結合を解除] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 手順 4 の出力データと [テーブルの結合を解除] ツールを接続します。
    (4) 手順 5 の処理完了後に実行されるよう、[フィーチャのコピー] ツールから [前提条件] を設定します。


  7. [ModelBuilder] タブの [検証] をクリックし、問題がなければ [保存] をクリックしてモデルを保存します。
  8. [ModelBuilder] タブの [実行] をクリックし、処理を実行します。

[フィールドの結合] ツールを使用する場合

【モデル例】

【手順】
  1. [解析] タブの [ModelBuilder] をクリックします。

  2. ModelBuilder に反復処理(テーブル)を追加します。
    ※ ワークスペースや反復条件の設定は、前述「[テーブルの結合] ツールを使用する場合」と同様です。

  3. 入力フィーチャクラスをあらかじめコピーします。
    [フィールドの結合] ツールは新規フィーチャクラスを出力しないため、事前に作業用データを作成します。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィーチャのコピー」と入力します。
    (2) [検索結果] に表示された [フィーチャのコピー] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 追加した [フィーチャのコピー] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィーチャ] を選択します。
    (4) [入力フィーチャ] を右クリック → [パラメーター] を選択します。
    (5) [入力フィーチャ] をダブルクリックし、[入力フィーチャ] に対象のフィーチャクラスを指定します。
    (6) [フィーチャのコピー] ツールを右クリック → [変数の作成] → [環境から] → [現在のワークスペース] を選択します。
    (7) [現在のワークスペース] を右クリック → [パラメーター] を選択します。
    (8) [現在のワークスペース] をダブルクリックし、出力するフィーチャクラスの格納先を指定します。
    (9) [フィーチャのコピー] ツールをダブルクリックし、[出力フィーチャクラス] を指定します。
     本 FAQ のモデル例では、「%フィーチャの出力先%\FC_%名前%」の形式でインライン変数を使用し、「FC_テーブル名」で出力しています。
     なお、モデル上のエレメント名については、処理内容が分かりやすいように「コピー済みフィーチャ」に変更しています。
    (10) 次の手順で設定する [フィールドの結合] ツールが、[テーブルの反復] ツールおよび [フィーチャのコピー] ツールの処理完了後に実行されるようにするため、[テーブルの反復] ツールから [フィーチャのコピー] ツールに対して [前提条件] を設定します。

  4. [フィールドの結合] ツールを使用して、フィーチャ レイヤーに対してテーブルのフィールドを結合します。
    コピーしたフィーチャクラスに対して、反復処理で取得したテーブルを結合します。
    (1) [ジオプロセシング] ウィンドウのツールの検索欄に「フィールドの結合」と入力します。
    (2) [検索結果] に表示された [フィールドの結合] ツールをドラッグ&ドロップでモデルに追加します。
    (3) 手順 3 の出力フィーチャクラスと [フィールドの結合] ツールを接続し、[入力テーブル] として設定します。
    (4) 手順 2 の出力テーブルと [フィールドの結合] ツール を接続し、[結合テーブル] として設定します。
    (5) [フィールドの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [入力フィールド] を選択します。
    (6) [入力フィールド] をパラメーターに設定するには [入力フィールド] を右クリック → [パラメーター] を選択します。
    (7) [入力フィールド] をダブルクリックし、 結合キーとなるフィールドを指定します。
    (8) [フィールドの結合] ツールを右クリック → [変数の作成] → [パラメーターから] → [結合フィールド] を選択します。
    (9) [結合フィールド] をパラメーターに設定するには [結合フィールド] を右クリック → [パラメーター] を選択します。
    (10) [結合フィールド] をダブルクリックし、入力フィールドと対応するテーブル側のフィールドを指定します。

  5. [ModelBuilder] タブの [検証] をクリックし、問題がなければ [保存] をクリックしてモデルを保存します。
  6. [ModelBuilder] タブの [実行] をクリックし、処理を実行します。

お問い合わせについて

ModelBuilder に関するお問い合わせにつきましては、「標準サポート サービスにおけるお問い合わせに関する留意事項」をご確認ください。

関連する質問

メタデータ

種類

機能

製品

バージョン