概要
入力テーブル/フィーチャクラスからテーブル ビューを作成します。ツールで作成されるテーブル ビューは一時的なものであり、ドキュメントを保存しない限り、セッション終了後は保持されません。
使用法
このツールは、選択した属性またはフィールドのセットによるテーブル ビューを作成するのによく使用されます。
SQL 式が使用され、その戻りがない場合、出力は空になります。
[フィールド情報] コントロールに定義されたフィールド名が以降のツールで使用されます。ただし、このツールがモデル内の最後ツールになる場合、フィールド名はディスク上のソース データから取得されます。フィールド名を維持するには、[行のコピー (Copy Rows)] ツールか [フィーチャのコピー (Copy Features)] ツールを使用して、新しいレイヤーを新しいデータに書き込む必要があります。
入力ワークスペースを指定すると、フィールド名が検証されます。したがって、入力がジオデータベース フィーチャクラスで、出力ワークスペースがフォルダーの場合は、シェープファイルの属性名が 10 文字以下に制限されるため、フィールド名が切り捨てられる場合があります。
フィールドのサブセットは、[フィールド情報] コントロールの表示プロパティを使用して、新しいレイヤーで使用できないようにすることができます。コントロールの 2 番目の列には、新しいレイヤーでのフィールドの表示/非表示を指定するチェックボックスがあります。デフォルトはオンです。そのフィールドを非表示にするには、チェックボックスをオフにします。新規に作成したレイヤーが以降のプロセスまたはツールの入力になる場合、ワークフローの中で非表示のフィールドを使用することはできません。出力をディスクに保存すると、表示としてリストされているフィールドだけが新しいデータに反映されます。
[フィールド情報] コントロール上のスプリット ポリシー オプションは、このツールに適用されません。
構文
MakeTableView(in_table, out_view, {where_clause}, {workspace}, {field_info})
パラメーター | 説明 | データ タイプ |
in_table | 入力テーブルまたはフィーチャクラス。 | Table View;Raster Layer |
out_view | 作成されるテーブル ビューの名前。 | Table View ;Raster Layer |
where_clause (オプション) | フィーチャのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「」「クエリ式で使用されるエレメントの 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")
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい