Compartilhar via


Método CalculatedMembers.AddCalculatedMember (Excel)

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

Sintaxe

expressão. AddCalculatedMember (Nome, Fórmula, SolveOrder, Tipo, 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 Variant A fórmula do membro calculado.
SolveOrder Opcional Variant A ordem de resolução do membro calculado.
Type Opcional Variant O tipo do membro calculado.
DisplayFolder Opcional Variant Uma pasta que existe para apresentar medidas calculadas.
MeasureGroup Opcional Variant O grupo ao qual o membro calculado pertence.
ParentHierarchy Opcional Variant O caminho principal do ParentMember.
ParentMember Opcional Variant O elemento principal do membro calculado.
NumberFormat Opcional Variant O formato dos números utilizados para membros calculados.

Valor de retorno

CALCULATEDMEMBER

Comentários

O argumento Fórmula tem de ter uma instrução de sintaxe MDX (expressão multidimensional) válida. O argumento Nome tem de ser aceitável para o fornecedor de Processamento Analítico Online (OLAP).

DisplayFolder

As pastas de apresentação só são válidas para medidas calculadas. Não são válidos para membros calculados.

A Cadeia pode ter ponto e vírgula ; na mesma. Os pontos e vírgulas designam várias pastas de apresentação. Por exemplo, se utilizar a cadeia myfolder1; myfolder2, a medida calculada será apresentada em duas pastas de apresentação, uma com o nome myfolder1 e a outra com o nome myfolder2.

A Cadeia pode ter barras invertidas \. Isto designa um caminho hierárquico para a pasta de apresentação. Por exemplo, se utilizar a Cadeiade boas-vindas\para\seattle, existirá uma pasta de apresentação denominada bem-vindo que contém uma pasta de apresentação chamada para a qual contém uma pasta de apresentação denominada seattle. As pastas de apresentação são pastas virtuais; na verdade, não existem no mesmo sentido que pensamos nas pastas do sistema. Só existem para apresentar as medidas calculadas.

NumberFormat

Os formatos de número só podem ser definidos por macros. Não existe nenhuma interface de utilizador para defini-las. Esta é a única propriedade que não pode ser definida através da interface de utilizador. O tipo é sempre xlNumberFormatTypeDefault quando um membro calculado é criado através da interface de utilizador. Os formatos de número só são válidos para membros calculados. Não são válidas para medidas calculadas.

ParentHierarchy

A hierarquia principal pode ser qualquer hierarquia MDX válida. As hierarquias principais só são válidas para membros calculados. Não são válidas para medidas calculadas. Se for escolhido um membro principal que esteja numa hierarquia principal diferente, a hierarquia principal será alterada automaticamente para corresponder à hierarquia principal do membro principal. Por exemplo, assuma a seguinte macro 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

Neste caso, especificou que o membro principal é da [Customer].[Customer Geography] hierarquia, mas deu a hierarquia principal como [Account].[Accounts]. Quando o membro é criado, utilizará a hierarquia principal do membro principal, que é [Customer].[Customer Geography], e quando procurar na caixa de diálogo Gerir Cálculos na IU, será apresentada [Customer].[Customer Geography] como a hierarquia principal em vez da especificada na macro, ou seja. [Account].[Accounts]

Exemplo

O seguinte exemplo de código adiciona uma medida calculada a uma tabela dinâmica.

Observação

Em ambos os exemplos, a Tabela Dinâmica tem de ser atualizada depois de criar o cálculo para vê-la na interface de utilizador.

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 seguinte exemplo de código 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.