Метод CalculatedMembers.AddCalculatedMember (Excel)
Добавляет вычисляемое поле или вычисляемый элемент в сводную таблицу.
Синтаксис
expression. 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 должен иметь допустимую инструкцию синтаксиса многомерных выражений (многомерное выражение). Аргумент Name должен быть приемлемым для поставщика OLAP.
DisplayFolder
Папки отображения допустимы только для вычисляемых мер. Они недопустимы для вычисляемых элементов.
Строка может иметь точку с запятой; в ней. Точка с запятой обозначает несколько папок отображения. Например, если используется строкаmyfolder1; myfolder2, вычисляемая мера будет отображаться в двух папках отображения, одна с именем myfolder1 , а другая — myfolder2.
Строка может иметь обратную косую черту \
. Это указывает иерархический путь к отображаемой папке. Например, если вы используете строкуwelcome\to\seattle, будет отображаться папка welcome , которая содержит папку отображения с именем , которая содержит папку отображения seattle. Отображаемые папки — это виртуальные папки; Они на самом деле не существуют в том же смысле, что мы думаем о системных папках. Они существуют только для отображения вычисляемых мер.
NumberFormat
Числовые форматы можно задать только с помощью макросов. Отсутствует пользовательский интерфейс для их настройки. Это единственное свойство, которое нельзя задать с помощью пользовательского интерфейса. Тип всегда имеет значение xlNumberFormatTypeDefault , когда вычисляемый элемент создается через пользовательский интерфейс. Числовые форматы допустимы только для вычисляемых элементов. Они недопустимы для вычисляемых мер.
ParentHierarchy
Родительская иерархия может быть любой допустимой иерархией многомерных выражений. Родительские иерархии допустимы только для вычисляемых элементов. Они недопустимы для вычисляемых мер. Если выбран родительский элемент, который находится в другой родительской иерархии, родительская иерархия будет автоматически изменена в соответствии с родительской иерархией родительского элемента. Например, предположим, что для вычисляемого элемента используется следующий макрос.
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]
, и при просмотре в диалоговом окне Управление вычислениями в пользовательском интерфейсе он будет отображаться [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 и обратная связь.