ピボット テーブル (Pivot Table) (データ管理)

Advanced のライセンスで利用可能。

サマリー

レコードの重複を削除し、1 対多のリレーションシップを単純化して、入力テーブルからテーブルを作成します。

ピボット テーブル ツールの図

使用法

  • このツールは通常、重複レコードを削減し、1 対多のリレーションシップを単純化します。

  • [入力フィールド][ピボット フィールド][値フィールド] の各パラメーター値の組み合わせは一意である必要があります。 [頻度 (Frequency)] ツールを使用して、組み合わせが一意であるかどうかを判別します。

  • [ピボット フィールド] 値がテキスト フィールドである場合、その値は、数字 (たとえば、2a) ではなく、文字 (たとえば、a2) で始まります。 最初のレコードの値が数字で始まる場合、すべての出力値は 0 になります。

  • [ピボット フィールド] 値が数値タイプの場合、その値は出力テーブル内の元のフィールド名に追加されます。

  • 出力テーブルのフィールドの数は、指定する入力フィールドの数に、[ピボット フィールド] の一意の値ごとに 1 つのフィールドを加えた数により決まります。 出力テーブルのレコードの数は、指定した入力フィールドとピボット フィールドの間で一意な値の組み合わせによって決まります。

  • [ピボット フィールド] 値に NULL 値が含まれている場合、ツールは失敗します。

パラメーター

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

ピボットされるレコードを含むテーブル。

Table View
入力フィールド

出力テーブルに含められるレコードを定義するフィールド。

Field
ピボット フィールド

出力テーブル内のフィールド名を生成するために使用されるレコード値を持つフィールド。

Field
値フィールド

出力テーブル内のピボット フィールドを入力する値を持つフィールド。

Field
出力テーブル

ピボットされるレコードを保存して作成されるテーブル。

Table

arcpy.management.PivotTable(in_table, fields, pivot_field, value_field, out_table)
名前説明データ タイプ
in_table

ピボットされるレコードを含むテーブル。

Table View
fields
[fields,...]

出力テーブルに含められるレコードを定義するフィールド。

Field
pivot_field

出力テーブル内のフィールド名を生成するために使用されるレコード値を持つフィールド。

Field
value_field

出力テーブル内のピボット フィールドを入力する値を持つフィールド。

Field
out_table

ピボットされるレコードを保存して作成されるテーブル。

Table

コードのサンプル

PivotTable の例 1 (Python ウィンドウ)

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


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.PivotTable("attributes.dbf", "OwnerID", "AttrTagNam", 
                            "AttrValueS", "C:/output/attribPivoted.dbf")
PivotTable の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで PivotTable 関数を使用する方法を示しています。

# Name: PivotTable_Example2.py
# Description: Pivot the attributes table by the specified fields

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/data"

# Set local variables
in_table = "attributes.dbf"
fields = "OwnerID"
pivot_field = "AttrTagNam"
value_field = "AttrValueS"
out_table = "C:/output/attribPivot.dbf"

# Run PivotTable
arcpy.management.PivotTable(in_table, fields, pivot_field, value_field, out_table)