Método CalculatedMembers.AddCalculatedMember (Excel)

Agrega un campo calculado o un elemento calculado a una tabla dinámica.

Sintaxis

expresión. AddCalculatedMember (Name, Formula, SolveOrder, Type, DisplayFolder, MeasureGroup, ParentHierarchy, ParentMember, NumberFormat)

Expresión Variable que representa un objeto CalculatedMembers .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Name Obligatorio String Nombre del miembro calculado.
Formula Obligatorio Variant Fórmula del miembro calculado.
SolveOrder Opcional Variant Orden de resolución del miembro calculado.
Tipo Opcional Variant Tipo de miembro calculado.
DisplayFolder Opcional Variant Carpeta que existe para mostrar medidas calculadas.
MeasureGroup Opcional Variant Grupo al que pertenece el miembro calculado.
ParentHierarchy Opcional Variant Ruta de acceso primaria del ParentMember.
ParentMember Opcional Variant Elemento primario del miembro calculado.
NumberFormat Opcional Variant Formato de números utilizados para miembros calculados.

Valor devuelto

CALCULATEDMEMBER

Comentarios

El argumento Formula debe tener una instrucción de sintaxis MDX (expresión multidimensional) válida. El argumento Name debe ser aceptable para el proveedor de procesamiento analítico en línea (OLAP).

DisplayFolder

Las carpetas para mostrar solo son válidas para las medidas calculadas. No son válidos para los miembros calculados.

String puede tener punto y coma; en él. Los punto y coma designan varias carpetas para mostrar. Por ejemplo, si usa la cadenamyfolder1;myfolder2, la medida calculada se mostrará en dos carpetas para mostrar, una denominada myfolder1 y la otra denominada myfolder2.

String puede tener barras diagonales inversas\. Esto designa una ruta jerárquica para la carpeta para mostrar. Por ejemplo, si usa la cadena welcome\to\seattle, habrá una carpeta para mostrar denominada welcome que contiene una carpeta para mostrar llamada a la que contiene una carpeta para mostrar denominada seattle. Las carpetas para mostrar son carpetas virtuales; realmente no existen en el mismo sentido que pensamos en las carpetas del sistema. Solo existen para mostrar las medidas calculadas.

NumberFormat

Los formatos numéricos solo se pueden establecer mediante macros. No hay ninguna interfaz de usuario para establecerlas. Esta es la única propiedad que no se puede establecer a través de la interfaz de usuario. El tipo siempre es xlNumberFormatTypeDefault cuando se crea un miembro calculado a través de la interfaz de usuario. Los formatos numéricos solo son válidos para los miembros calculados. No son válidas para las medidas calculadas.

ParentHierarchy

La jerarquía primaria puede ser cualquier jerarquía MDX válida. Las jerarquías primarias solo son válidas para los miembros calculados. No son válidas para las medidas calculadas. Si se elige un miembro primario que se encuentra en una jerarquía primaria diferente, la jerarquía primaria se cambiará automáticamente para que coincida con la jerarquía primaria del miembro primario. Por ejemplo, suponga la siguiente macro para un miembro 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

En este caso, ha especificado que el miembro primario pertenece a la [Customer].[Customer Geography] jerarquía, pero ha dado a la jerarquía primaria como [Account].[Accounts]. Cuando se crea el miembro, usará la jerarquía primaria del miembro primario, que es [Customer].[Customer Geography], y cuando busque en el cuadro de diálogo Administrar cálculos de la interfaz de usuario, se mostrará [Customer].[Customer Geography] como la jerarquía primaria en lugar de la especificada en la macro, es [Account].[Accounts]decir, .

Ejemplo:

En el ejemplo de código siguiente se agrega una medida calculada a una tabla dinámica.

Nota:

En ambos ejemplos, la tabla dinámica debe actualizarse después de crear el cálculo para verlo en la interfaz de usuario.

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

En el ejemplo de código siguiente se agrega un miembro calculado a una tabla 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.