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

ライセンス レベル:BasicStandardAdvanced

サマリ

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

使用法

構文

MakeTableView_management (in_table, out_view, {where_clause}, {workspace}, {field_info})
パラメータ説明データ タイプ
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

コードのサンプル

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")

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
9/14/2013