Método CalculatedMembers.AddCalculatedMember (Excel)

Adiciona um campo ou item calculado a uma tabela dinâmica.

Sintaxe

expressão. AddCalculatedMember (Name, Formula, SolveOrder, Type, DisplayFolder, MeasureGroup, ParentHierarchy, ParentMember, NumberFormat)

Expressão Uma variável que representa um objeto CalculatedMembers .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Name Obrigatório String O nome do membro calculado.
Fórmula Obrigatório Variantes A fórmula do membro calculado.
SolveOrder Opcional Variantes A ordem de resolução do membro calculado.
Type Opcional Variantes O tipo do membro calculado.
DisplayFolder Opcional Variantes Uma pasta que existe para exibir medidas calculadas.
MeasureGroup Opcional Variantes O grupo ao qual o membro calculado pertence.
ParentHierarchy Opcional Variantes O caminho pai do ParentMember.
ParentMember Opcional Variantes O pai do membro calculado.
NumberFormat Opcional Variantes O formato de números usados para membros calculados.

Valor de retorno

CALCULATEDMEMBER

Comentários

O argumento Formula deve ter uma instrução de sintaxe MDX (expressão multidimensional) válida. O argumento Nome deve ser aceitável para o provedor OLAP (Processamento Analítico Online).

DisplayFolder

As pastas de exibição são válidas apenas para medidas calculadas. Eles não são válidos para membros calculados.

A Cadeia de Caracteres pode ter ponto-e-vírgula ; nela. Os ponto e vírgula designam várias pastas de exibição. Por exemplo, se você usar a cadeia de caracteres myfolder1;myfolder2, a medida calculada será exibida em duas pastas de exibição, uma chamada myfolder1 e outra chamada myfolder2.

A Cadeia de Caracteres pode ter cílios invertidas \. Isso designa um caminho hierárquico para a pasta de exibição. Por exemplo, se você usar o stringwelcome\to\seattle, haverá uma pasta de exibição chamada welcome que contém uma pasta de exibição chamada para a qual contém uma pasta de exibição chamada seattle. As pastas de exibição são pastas virtuais; eles realmente não existem no mesmo sentido que pensamos em pastas do sistema. Elas só existem para fins de exibição das medidas calculadas.

NumberFormat

Os formatos de número só podem ser definidos por macros. Não há interface do usuário para defini-los. Essa é a única propriedade que não pode ser definida por meio da interface do usuário. O tipo é sempre xlNumberFormatTypeDefault quando um membro calculado é criado por meio da interface do usuário. Os formatos de número só são válidos para membros calculados. Elas não são válidas para medidas calculadas.

ParentHierarchy

A hierarquia pai pode ser qualquer hierarquia MDX válida. As hierarquias pai só são válidas para membros calculados. Elas não são válidas para medidas calculadas. Se um membro pai for escolhido que esteja em uma hierarquia pai diferente, a hierarquia pai será alterada automaticamente para corresponder à hierarquia pai do membro pai. Por exemplo, suponha a macro a seguir para um membro calculado.

     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

Nesse caso, você especificou que o membro pai é da [Customer].[Customer Geography] hierarquia, mas você deu a hierarquia pai como [Account].[Accounts]. Quando o membro for criado, ele usará a hierarquia pai do membro pai, que é [Customer].[Customer Geography], e quando você olhar na caixa de diálogo Gerenciar Cálculos na interface do usuário, ele será mostrado [Customer].[Customer Geography] como a hierarquia pai em vez da especificada na macro, ou seja. . [Account].[Accounts]

Exemplo

O exemplo de código a seguir adiciona uma medida calculada a uma Tabela Dinâmica.

Observação

Em ambos os exemplos, a Tabela Dinâmica deve ser atualizada após a criação do cálculo para exibi-lo na interface do usuário.

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

O exemplo de código a seguir adiciona um membro calculado a uma Tabela Dinâmica.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.