フィールドの転置 (Transpose Fields) (データ管理)

サマリー

フィールドまたは列に格納されたデータを、新しいテーブルまたはフィーチャクラスの行に転置します。

このツールは、テーブルまたはフィーチャクラスに格納されているフィールド名 (Field1Field2Field3 など) 内の値を、複数の行に転置して配置する場合に役立ちます。 このツールを使用すると、フィールド名とフィールド内のそれに対応するデータ値を行に転置することができます。

テーブルまたはフィーチャクラスの列に格納されたデータ値を、行に転置する
テーブルまたはフィーチャクラスの列に格納されたデータ値を、行に転置する

使用法

    注意:

    このツールを実行すると、入力データが変更されます。 詳細と不要なデータの変更を回避するための方法については、「入力データを変更または更新するツール」をご参照ください。

  • デフォルトでは、出力はテーブルです。 入力がフィーチャクラスの場合に、出力もフィーチャクラスにするには、[属性フィールド]Shape フィールドを追加します。

パラメーター

ラベル説明データ タイプ
入力テーブル

転置するデータ値フィールドが含まれている入力フィーチャクラスまたはテーブル。

Table View
転置するフィールド

転置が必要な、入力テーブルのデータ値を含むフィールドまたは列。

必要に応じて、転置が必要な複数のフィールドを選択できます。 ここで指定する値は、出力に含めるフィールド名です。 指定しないと、フィールド名と同じ値がデフォルトで設定されます。 ただし、独自の値を指定することもできます。 たとえば、転置するフィールド名が Pop1991Pop1992 などの場合、デフォルトでは、出力に含まれるこれらのフィールドの値も同じ (Pop1991Pop1992 など) になります。 ただし、「1991」や「1992」などの独自の値を指定することもできます。

Value Table
出力テーブル

出力フィーチャクラスまたはテーブル。 出力には、転置されたフィールド、値フィールド、および指定された任意の数の属性フィールド (入力テーブルから継承する必要がある) が含まれます。

デフォルトでは、[出力テーブル] はテーブルです。 [入力テーブル] がフィーチャクラスであり、[属性フィールド] パラメーターで Shape フィールドが選択されている場合、出力はフィーチャクラスになります。

Table
転置するフィールド

転置されたフィールドの名前を格納するために作成されるフィールドの名前。 任意の有効なフィールド名を使用できます。

String
値フィールド

転置されたフィールドの対応する値を格納するために作成されるフィールドの名前。 入力テーブルまたはフィーチャクラスの既存のフィールド名と競合しない限り、任意の有効なフィールド名を設定できます。

String
属性フィールド
(オプション)

出力テーブルに含める入力テーブル内のその他の属性フィールド。 フィーチャクラスを出力する場合は、Shape フィールドを追加します。

Field

arcpy.management.TransposeFields(in_table, in_field, out_table, in_transposed_field_name, in_value_field_name, {attribute_fields})
名前説明データ タイプ
in_table

転置するデータ値フィールドが含まれている入力フィーチャクラスまたはテーブル。

Table View
in_field
[[field, {value}],...]

転置が必要な、入力テーブルのデータ値を含むフィールドまたは列。

必要に応じて、転置が必要な複数のフィールドを選択できます。 ここで指定する値は、出力に含めるフィールド名です。 指定しないと、フィールド名と同じ値がデフォルトで設定されます。 ただし、独自の値を指定することもできます。 たとえば、転置するフィールド名が Pop1991Pop1992 などの場合、デフォルトでは、出力に含まれるこれらのフィールドの値も同じ (Pop1991Pop1992 など) になります。 ただし、「1991」や「1992」などの独自の値を指定することもできます。

Value Table
out_table

出力フィーチャクラスまたはテーブル。 出力には、転置されたフィールド、値フィールド、および指定された任意の数の属性フィールド (入力テーブルから継承する必要がある) が含まれます。

デフォルトでは、out_table はテーブルです。 出力がフィーチャクラスであり、attribute_fields パラメーターで Shape フィールドが選択されている場合、出力はフィーチャクラスになります。in_table

Table
in_transposed_field_name

転置されたフィールドの名前を格納するために作成されるフィールドの名前。 任意の有効なフィールド名を使用できます。

String
in_value_field_name

転置されたフィールドの対応する値を格納するために作成されるフィールドの名前。 入力テーブルまたはフィーチャクラスの既存のフィールド名と競合しない限り、任意の有効なフィールド名を設定できます。

String
attribute_fields
[attribute_fields,...]
(オプション)

出力テーブルに含める入力テーブル内のその他の属性フィールド。 フィーチャクラスを出力する場合は、Shape フィールドを追加します。

Field

コードのサンプル

TransposeFields の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで TransposeFields ツールを使用する方法を示しています。

import arcpy
arcpy.TransposeFields_management("C:/Data/TemporalData.gdb/Input","Field1 newField1;Field2 newField2;Field3 newField3",
                                 "C:/Data/TemporalData.gdb/Output_Time","Transposed_Field", "Value","Shape;Type")
TransposeFields の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、この TransposeFields ツールの使用方法を示します。

# Name: TransposeFields_Ex_02.py
# Description: Tranpose field names from column headers to values in one column
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# set workspace
arcpy.env.workspace = "C:/Data/TemporalData.gdb"

# Set local variables
inTable = "Input"
# Specify fields to transpose
fieldsToTranspose = "Field1 newField1;Field2 newField2;Field3 newField3"
# Set a variable to store output feature class or table
outTable = "Output_Time"
# Set a variable to store time field name
transposedFieldName = "Transposed_Field"
# Set a variable to store value field name
valueFieldName = "Value"
# Specify attribute fields to be included in the output
attrFields = "Shape;Type"

# Execute TransposeTimeFields
arcpy.TransposeFields_management(inTable, fieldsToTranspose, outTable, transposedFieldName, valueFieldName, attrFields)