CalculatedMembers.AddCalculatedMember méthode (Excel)

Cette méthode ajoute un champ ou un élément calculé à un tableau croisé dynamique.

Syntaxe

expression. AddCalculatedMember (Name, Formula, SolveOrder, Type, DisplayFolder, MeasureGroup, ParentHierarchy, ParentMember, NumberFormat)

expression Variable qui représente un objet CalculatedMembers .

Paramètres

Nom Requis/Facultatif Type de données Description
Name Obligatoire String Nom du membre calculé.
Formule Obligatoire Variant Formule du membre calculé.
SolveOrder Facultatif Variant Ordre de résolution du membre calculé.
Type Facultatif Variant Type du membre calculé.
DisplayFolder Facultatif Variant Un dossier qui existe pour afficher les mesures calculées.
MeasureGroup Facultatif Variant Groupe auquel appartient le membre calculé.
ParentHierarchy Facultatif Variant Chemin parent du ParentMember.
ParentMember Facultatif Variant Parent du membre calculé.
NumberFormat Facultatif Variant Format des nombres utilisés pour les membres calculés.

Valeur renvoyée

CALCULATEDMEMBER

Remarques

L’argument Formule doit avoir une instruction de syntaxe MDX (expression multidimensionnelle) valide. L’argument Nom doit être acceptable pour le fournisseur de traitement analytique en ligne (OLAP).

DisplayFolder

Les dossiers d’affichage ne sont valides que pour les mesures calculées. Elles ne sont pas valables pour les membres calculés.

La chaîne peut contenir des points-virgules ; . Les points-virgules désignent plusieurs dossiers d’affichage. Par exemple, si vous utilisez la chaînemyfolder1 ; MonDossier2, la mesure calculée s’affiche dans deux dossiers d’affichage, l’un nommé MonDossier1 et l’autre nommé MonDossier2.

La chaîne peut avoir des barres obliques inverses \. Cela désigne un chemin hiérarchique pour le dossier d’affichage. Par exemple, si vous utilisez la chaînewelcome\to\seattle, il y aura un dossier d’affichage appelé welcome qui contient un dossier d’affichage appelé to qui contient un dossier d’affichage appelé seattle. Les dossiers d’affichage sont des dossiers virtuels ; Ils n’existent pas vraiment dans le même sens que nous pensons aux dossiers système. Elles n’existent que dans le but d’afficher les mesures calculées.

NumberFormat

Les formats de nombre ne peuvent être définis que par des macros. Il n’existe aucune interface utilisateur pour les définir. C’est la seule propriété qui ne peut pas être définie via l’interface utilisateur. Le type est toujours xlNumberFormatTypeDefault lorsqu’un membre calculé est créé via l’interface utilisateur. Les formats numériques ne sont valides que pour les membres calculés. Ils ne sont pas valables pour des mesures calculées.

ParentHierarchy

La hiérarchie parente peut être n’importe quelle hiérarchie MDX valide. Les hiérarchies parentes ne sont valides que pour les membres calculés. Ils ne sont pas valables pour des mesures calculées. Si un membre parent est choisi dans une hiérarchie parente différente, la hiérarchie parente sera automatiquement modifiée pour correspondre à la hiérarchie parente du membre parent. Par exemple, supposons la macro suivante pour un membre calculé.

     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

Dans ce cas, vous avez spécifié que le membre parent provient de la [Customer].[Customer Geography] hiérarchie, mais vous avez donné à la hiérarchie parente la [Account].[Accounts]valeur . Lorsque le membre est créé, il utilise la hiérarchie parente du membre parent, qui est [Customer].[Customer Geography], et lorsque vous regardez dans la boîte de dialogue Gérer les calculs de l’interface utilisateur, elle s’affiche [Customer].[Customer Geography] en tant que hiérarchie parente plutôt que celle spécifiée dans la macro, c’est-à-dire [Account].[Accounts].

Exemple

L’exemple de code suivant ajoute une mesure calculée à un tableau croisé dynamique.

Remarque

Dans ces deux exemples, le tableau croisé dynamique doit être actualisé après la création du calcul pour pouvoir l’afficher dans l’interface utilisateur.

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

L’exemple de code suivant ajoute un membre calculé à un tableau croisé dynamique.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.