数据透视表 (数据管理)

在 Advanced 许可等级下可用。

摘要

通过在“输入表”中减少记录中的冗余并简化一对多关系来创建表。

插图

数据透视表工具图示

使用情况

  • 通常,此工具用于减少冗余记录和简化一对多关系。

  • 输入字段透视表字段值字段参数值的组合必须唯一。 可以使用频率工具以确定组合是否唯一。

  • 如果透视表字段值是文本字段,则其值必须以字符(如 a2)而非数字(例如 2a)开始。 如果第一条记录的值以数字开始,则所有输出值将为 0.

  • 如果透视表字段值是数值型字段,则此字段的值将被追加到输出表中其原始字段名称上。

  • 输出表中的字段数将由指定的输入字段数量确定,另外还包括与每个唯一透视表字段值对应的一个字段。 输出表中的记录数将由指定的输入字段与透视表字段之间值的唯一组合确定。

  • 如果透视表字段值包含 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)