テーブル ビューの作成(Make Table View) (データ管理)
サマリ
テーブルまたはフィーチャクラスから、テーブル ビューを作成します。ツールで作成されるテーブル ビューは一時的なものであり、ドキュメントを保存しない限り、セッション終了後は保持されません。
使用法
-
このツールは、選択した属性またはフィールドのセットによるテーブル ビューを作成するのによく使用されます。
-
テーブル ビューは ArcCatalog に表示されませんが、現在の ArcGIS セッションで他のジオプロセシング ツールへの入力として使用することができます。ArcGIS アプリケーションを終了すると、テーブル ビューは削除されます。
-
ArcCatalog で作成されたテーブル ビューは、ArcMap では使用できません。
SQL 式が使用され、その戻りがない場合、出力は空になります。
フィールド名は、[フィールド情報] コントロールを使用して新しい名前に変更できます。コントロールの 2 番目の列に、入力の既存のフィールド名が一覧表示されます。フィールドの名前を変更するには、フィールド名をクリックして新しい名前を入力します。
[フィールド情報] コントロールに定義された新しいフィールド名が以降のツールで使用されます。ただし、このツールがモデル内の最後ツールになる場合、フィールド名はディスク上のソース データから取得されます。新しいフィールド名を維持するには、[行のコピー(Copy Rows)] ツールか [フィーチャのコピー(Copy Features)] ツールを使用して、新しいレイヤを新しいデータに書き込む必要があります。
入力ワークスペースを指定すると、フィールド名が検証されます。したがって、入力がジオデータベース フィーチャクラスで、出力ワークスペースがフォルダの場合は、シェープファイルの属性名が 10 文字以下に制限されるため、フィールド名が切り捨てられる場合があります。新しい名前は、[フィールド情報] コントロールを使用して確認され、変更される可能性があります。
フィールドのサブセットは、[フィールド情報] コントロールの表示プロパティを使用して、新しいレイヤで使用できないようにすることができます。コントロールの 3 番目の列には、新しいレイヤでのフィールドの表示/非表示を指定するドロップダウン オプションがあります。デフォルト値は TRUE です。FALSE を選択すると、そのフィールドは非表示になります。新規に作成したレイヤが以降のプロセスまたはツールの入力になる場合、ワークフローの中で非表示のフィールドを使用することはできません。出力をディスクに保存すると、表示としてリストされているフィールドだけが新しいデータに反映されます。
-
[フィールド情報] コントロール上のスプリット ポリシー オプションは、このツールに適用されません。
構文
パラメータ | 説明 | データ タイプ |
in_table |
入力テーブルまたはフィーチャクラス。 | Table View;Raster Layer |
out_view |
作成されるテーブル ビューの名前。 | Table View ;Raster Layer |
where_clause (オプション) |
フィーチャのサブセットを選択するために使用する SQL 式。この式の構文はデータ ソースによって多少異なります。たとえば、クエリ対象がファイル ジオデータベース、ArcSDE ジオデータベース、シェープファイル、またはカバレッジの場合は、フィールド名を二重引用符で囲みます。 "MY_FIELD" クエリ対象がパーソナル ジオデータベースの場合は、以下のようにフィールドを角括弧で囲みます。 [MY_FIELD] Python では、文字列を単一引用符または二重引用符で囲みます。SQL 式の WHERE 句などで通常行われるように、引用符を含む文字列を作成する場合は、引用符を円記号(\)でエスケープするか、文字列を三重引用符で囲みます。たとえば、次のような WHERE 句を記述する場合、 "CITY_NAME" = 'Chicago' 次のように文字列全体を二重引用符で囲み、内部の二重引用符をエスケープします。 " \"CITY_NAME\" = 'Chicago' " または、次のように文字列全体を単一引用符で囲み、内部の単一引用符をエスケープします。 ' "CITY_NAME" = \'Chicago\' ' あるいは、次のようにエスケープしないで文字列全体を三重引用符で囲みます。 """ "CITY_NAME" = 'Chicago' """ SQL 構文の詳細とデータ ソースによる違いについては、ヘルプ トピックの「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。 | SQL Expression |
workspace (オプション) |
フィールド名を検証するために使用する入力ワークスペース。入力がジオデータベース テーブルで、出力ワークスペースが dBASE テーブルの場合は、dBASE フィールドの名前が 10 文字以下に制限されるため、フィールド名が切り捨てられる場合があります。新しい名前は、フィールド情報コントロールを使用して確認され、変更される可能性があります。 | Workspace |
field_info (オプション) |
入力テーブルのどのフィールドの名前を変更し、出力テーブルのビューに表示するかを指定します。 | Field Info |
コードのサンプル
次の Python ウィンドウ スクリプトは、MakeTableView(テーブル ビューの作成)関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。
import arcpy
arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
次のスタンドアロン スクリプトは、MakeTableView(テーブル ビューの作成)で FieldInfo オブジェクトを指定して出力のフィールドをフィルタする方法を、例を挙げて示したものです。
# Name: MakeTableView_Example2.py
# Description: Uses a FieldInfo object to select a subset of fields and renaming one field's name.
# Import system modules
import arcpy
# Set data path
intable = "C:/data/tables.gdb/crimefreq"
# Get the fields from the input
fields= arcpy.ListFields(intable)
# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()
# Iterate through the fields and set them to fieldinfo
for field in fields:
if field.name == "FREQUENCY":
fieldinfo.addField(field.name, "NEWFREQ", "VISIBLE", "")
elif field.name == "CRIME_CAT":
fieldinfo.addField(field.name, field.name, "HIDDEN", "")
elif field.name == "BEAT":
fieldinfo.addField(field.name, field.name, "VISIBLE", "")
# The created crime_view layer will have fields as set in fieldinfo object
arcpy.MakeTableView_management(intable, "crime_view", "", "", fieldinfo)
# To persist the layer on disk make a copy of the view
arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")