数据透视表的计算

本节介绍数据透视表计算相关的内容,包括总计行和总计列的显示方式、字段汇总方式和数据显示方式等。[大谦Excel,dqexcel点com]

设置总计行和总计列的显示方式

使用PivotTable对象的RowGrand属性和ColumnGrand属性,可以显示或隐藏数据透视表中的总计行和总计列。

【Excel VBA】

示例文件的存放路径为Samples\ch19\Excel VBA\总计行和总计列的显示方式.xlsm。运行CreatePVT过程,生成数据透视表。RowColumnGrand过程指定隐藏数据透视表中的总计行和总计列。

code.vba
Sub RowColumnGrand()
  '省略,获取数据透视表pvt
  '…
  pvt.RowGrand = False
  pvt.ColumnGrand = False
End Sub

运行过程,生成数据透视表如图7-13所示。

Document Image

图7-13 隐藏数据透视表中的总计行和总计列

【Python】

编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\总计行和总计列的显示方式.py。

code.vba
#前面代码省略,请参见Python文件
#......
#总计行和总计列的显示方式
pvt.RowGrand = False
pvt.ColumnGrand = False

运行脚本,生成数据透视表如图7-13所示。

设置字段的汇总方式

使用PivotField对象的Function属性可以设置字段的汇总方式,默认时求和汇总。

【Excel VBA】

示例文件的存放路径为Samples\ch19\Excel VBA\字段汇总方式.xlsm。运行CreatePVT过程,生成数据透视表。SetStyle过程指定“求和项:金额”按计数进行汇总。

code.vba
Sub SetStyle()
  '省略,获取数据透视表pvt
  '…
  pvt.PivotFields("求和项:金额").Function = xlCount  '计数汇总
End Sub

运行过程,生成数据透视表如图7-14所示。

Document Image

图7-14 计数汇总

【Python】

编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\字段汇总方式.py。

code.vba
#前面代码省略,请参见Python文件
#......
#字段的汇总方式
pvt.PivotFields("求和项:金额").Function=\
    xw.constants.ConsolidationFunction.xlCount

运行脚本,生成数据透视表如图7-14所示。

设置数据显示方式

使用PivotField对象的Calculation属性设置数据透视表中数据的显示方式。

【Excel VBA】

示例文件的存放路径为Samples\ch19\Excel VBA\数据显示方式.xlsm。运行CreatePVT过程,生成数据透视表。SetFieldData过程指定“求和项:金额”字段按行百分比显示,即每行中的每个数据按占行总和的百分比进行显示。

code.vba
Sub SetFieldData()
  '省略,获取数据透视表pvt
  '…
  pvt.PivotFields("求和项:金额").Calculation = xlPercentOfRow
End Sub

运行过程,生成数据透视表如图7-15所示。

Document Image

图7-15 数据透视表的数据按行百分比显示

【Python】

编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\数据显示方式.py。

code.vba
#前面代码省略,请参见Python文件
#......
#设置数据显示方式
pvt.PivotFields("求和项:金额").Calculation=\
    xw.constants.PivotFieldCalculation.xlPercentOfRow

运行脚本,生成数据透视表如图7-15所示。[大谦Excel,dqexcel点com]