CalculatedMembers.AddCalculatedMember 方法 (Excel)

向数据透视表中添加计算字段或计算项。

语法

表达式AddCalculatedMember (NameFormulaSolveOrderTypeDisplayFolderMeasureGroupParentHierarchyParentMemberNumberFormat)

表达 一个代表 CalculatedMembers 对象的变量。

参数

名称 必需/可选 数据类型 说明
Name 必需 String 计算成员的名称。
Formula 必需 Variant 计算成员的公式。
SolveOrder 可选 Variant 计算成员的求解次序。
Type 可选 Variant 计算成员的类型。
DisplayFolder 可选 Variant 用于显示计算度量值的文件夹。
MeasureGroup 可选 Variant 计算成员所属的组。
ParentHierarchy 可选 Variant ParentMember 的父路径。
ParentMember 可选 Variant 计算成员的父级。
NumberFormat 可选 Variant 用于计算成员的数字格式。

返回值

CALCULATEDMEMBER

备注

Formula 参数必须具有有效的 MDX (多维表达式) 语法语句。 联机分析处理 (OLAP) 提供程序必须接受 Name 参数。

DisplayFolder

显示文件夹仅对计算度量值有效。 它们对计算成员无效。

字符串中可以有分号 ;。 分号指定多个显示文件夹。 例如,如果使用 字符串myfolder1;myfolder2,计算度量值将显示在两个显示文件夹中,一个名为 myfolder1 ,另一个名为 myfolder2

字符串可以有反斜杠 \。 这将指定显示文件夹的分层路径。 例如,如果使用 Stringwelcome\to\seattle,则会有一个名为 welcome 的显示文件夹, 其中包含名为 的 显示文件夹,该文件夹包含名为 seattle 的显示文件夹。 显示文件夹是虚拟文件夹;它们实际上并不存在于我们认为系统文件夹的相同意义上。 它们仅用于显示计算度量值。

NumberFormat

数字格式只能由宏设置。 没有用于设置它们的用户界面。 这是无法通过用户界面设置的唯一属性。 通过用户界面创建计算成员时,类型始终为 xlNumberFormatTypeDefault 。 数字格式仅对计算成员有效。 它们对计算度量值无效。

ParentHierarchy

父层次结构可以是任何有效的 MDX 层次结构。 父层次结构仅对计算成员有效。 它们对计算度量值无效。 如果选择的父成员位于不同的父层次结构中,则会自动更改父层次结构以匹配父成员的父层次结构。 例如,假设计算成员使用以下宏。

     OLEDBConnection.CalculatedMembers.AddCalculatedMember Name:="[UK+US]", _
     Formula:= _
    "[Customer].[Customer Geography].[Country].&[United Kingdom] + [Customer].[Customer Geography].[Country].&[United States] " _
     , Type:=xlCalculatedMember, SolveOrder:=0, ParentHierarchy:= _
     "[Account].[Accounts]", ParentMember:= _
    "[Customer].[Customer Geography].[Australia]", NumberFormat:= _
     xlNumberFormatTypePercent

在这种情况下,已指定父成员来自 [Customer].[Customer Geography] 层次结构,但已将父层次结构指定为 [Account].[Accounts]。 创建成员时,它将使用父成员的父层次结构(即 [Customer].[Customer Geography]),当你在 UI 中的“ 管理计算 ”对话框中查看时,它将显示为 [Customer].[Customer Geography] 父层次结构,而不是宏中指定的层次结构,即 [Account].[Accounts]

示例

下面的代码示例将 计算度量值 添加到数据透视表。

注意

在这两个示例中,必须在创建计算后刷新数据透视表,才能在用户界面中查看它。

Sub AddCalculatedMeasure()

Dim pvt As PivotTable
Dim strName As **String**
Dim strFormula As **String**
Dim strDisplayFolder As **String**
Dim strMeasureGroup As **String**

Set pvt = Sheet1.PivotTables("PivotTable1")
strName = "[Measures].[Internet Sales Amount 25 %]"
strFormula = "[Measures].[Internet Sales Amount]*1.25"
strDisplayFolder = "My Folder\Percent Calculations" 
strMeasureGroup = "Internet Sales"

pvt.CalculatedMembers. AddCalculatedMember Name:=strName, Formula:=strFormula, Type:=xlCalculatedMeasure, DisplayFolder:=strDisplayFolder, MeasureGroup:=strMeasureGroup, NumberFormat:=xlNumberFormatTypePercent

End Sub

下面的代码示例将 计算成员 添加到数据透视表。

Sub AddCalculatedMember()

Dim pvt As PivotTable
Dim strName As **String**
Dim strFormula As **String**
Dim strParentHierarchy As **String**
Dim strParentMember As **String**

Set pvt = Sheet1.PivotTables("PivotTable1")
strName = "[Customer].[Customer Geography].[All Customers].[North America]"
strFormula = "[Customer].[Customer Geography].[Country].&[United States] + [Customer].[Customer Geography].[Country].&[Canada]"
strParentHierarchy = "[Customer].[Customer Geography]"
strParentMember = "[Customer].[Customer Geography].[All Customers]"

pvt.CalculatedMembers. AddCalculatedMember Name:=strName, Formula:=strFormula, Type:=xlCalculatedMember, ParentHierarchy:=strParentHierarchy, ParentMember:=strParentMember, SolveOrder:=0, NumberFormat:=xlNumberFormatTypeDefault

End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。