CalculatedMembers.AddCalculatedMember 方法 (Excel)
向数据透视表中添加计算字段或计算项。
语法
表达式。AddCalculatedMember (Name、 Formula、 SolveOrder、 Type、 DisplayFolder、 MeasureGroup、 ParentHierarchy、 ParentMember、 NumberFormat)
表达 一个代表 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。