テーブル ビューの作成 (Make Table View) (データ管理)

概要

入力テーブル/フィーチャクラスからテーブル ビューを作成します。ツールで作成されるテーブル ビューは一時的なものであり、ドキュメントを保存しない限り、セッション終了後は保持されません。

使用法

  • このツールは、選択した属性またはフィールドのセットによるテーブル ビューを作成するのによく使用されます。

  • 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

コードのサンプル

MakeTableView (テーブル ビューの作成) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、MakeTableView (テーブル ビューの作成) 関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。

import arcpy

arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
MakeTableView (テーブル ビューの作成) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、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: はい

関連トピック