2017-10-18 11 views
0

J'ai essayé d'ajouter un champ calculé dans le tableau croisé dynamique. L'ensemble du tableau croisé dynamique est parfaitement créé jusqu'à présent. La dernière colonne que je veux ajouter est celle qui a été calculée. Malheureusement, jusqu'à présent, je ne peux même pas le faire manuellement. Cependant, si je viens d'insérer comme formule juste à côté du tableau croisé dynamique la formule ci-dessous, alors cela fonctionne parfaitement.Ajout d'un champ calculé dans une table Pivot avec une référence à une cellule du tableau croisé dynamique

=GETPIVOTDATA('Monthly $/SU Forecast',$A$15,'T-Lane','Athens to GREECE')-GETPIVOTDATA('Monthly $/SU Actual',$A$15,'T-Lane','Athens to GREECE') 

Lorsque je tape le dessous à l'intérieur de la macro il dit: « Impossible d'obtenir la propriété PivotFields de la classe de tableau croisé dynamique » pour la ligne

.PivotFields("Diff").Orientation = xlDataField 

Toute la partie du code est la suivante:

.CalculatedFields.Add "Diff", "=GETPIVOTDATA('Monthly $/SU Forecast',$A$15,'T-Lane','Athens to GREECE')-GETPIVOTDATA('Monthly $/SU Actual',$A$15,'T-Lane','Athens to GREECE')" 
.PivotFields("Diff").Orientation = xlDataField 

Mon tableau croisé dynamique

enter image description here

+0

avez-vous essayé de changer la mise en page de tableau croisé dynamique de compact pour décrire la forme? – PeterH

+0

non .. Je ne suis pas vraiment sûr de savoir comment faire ça! –

+0

Son sous l'onglet 'Design' -> 'Mise en page du rapport' -> 'Afficher dans la forme de contour' il peut aider à résoudre votre problème – PeterH

Répondre

2

La formule de champ calculée n'est pas valide, c'est pourquoi vous ne pouvez pas l'ajouter manuellement. Selon l'article à http://www.contextures.com/excel-pivot-table-calculated-field.html

  • formules de champs calculés ne peuvent pas se référer aux totaux de table de pivot ou des sous-totaux
  • formules de champs calculés ne peuvent pas se référer à la feuille de travail des cellules par adresse ou par nom.
  • Sum est la seule fonction disponible pour un champ calculé.
  • Les champs calculés ne sont pas disponibles dans un tableau pivotant OLAP.

Voici un Capture d'écran montrant comment mettre en place un champ calculé:

enter image description here

... et voici le résultat:

enter image description here

Notez que la création des champs calculés en cette manière a été rendue redondante, comme dans Excel 2013 et plus tard, vous pouvez utiliser le modèle de données pour le faire et beaucoup plus (même si votre La version d'Excel ne fait pas partie des références «premium» fournies avec l'add-in PowerPivot.

Voici un exemple montrant cette approche:

D'abord, sélectionnez votre source de données, la transformer en un tableau Excel, puis créez un nouveau tableau croisé dynamique, mais cette fois-ci, cochez la case en bas de la dialogue « Ajouter ces données au modèle de données »:

enter image description here

Lorsque vous cliquez sur le tableau croisé dynamique ce produit, vous verrez que la boîte de dialogue champs de tableau croisé dynamique est légèrement différente: Il affiche le nom du tableau, puis sous cette table listera chaque champ:

enter image description here

Faites un clic droit sur le nom du tableau dans cette boîte de dialogue, puis cliquez sur l'option Ajouter Mesure:

enter image description here

Donnez la mesure un nom et tapez la formule que vous voulez dans la boîte de dialogue (Vous n'avez pas vraiment à taper que « Somme des » choses ... il suffit de taper « Prévisions » et vous verrez une boîte de saisie semi-automatique venir où vous pouvez choisir le champ que vous voulez)

enter image description here

Bam: vous avez un nouveau champ calculé dans le tableau croisé dynamique:

enter image description here

+0

Merci pour les commentaires! Alors, avez-vous une idée de comment il est possible de faire des calculs à l'intérieur du tableau croisé dynamique entre les cellules du tableau croisé dynamique? –

+0

Voir ma réponse révisée. – jeffreyweir

+0

Je vais fournir une capture d'écran de mon tableau croisé dynamique afin d'être plus clair ... ce que je cherche à faire est d'ajouter une nouvelle colonne à mon tableau croisé dynamique qui affichera le résultat de la différence entre la colonne "Prévisions mensuelles $/SU "et" Actual $/SU ". Donc, je veux avoir une colonne avec trois lignes avec des valeurs de 0,11-0,28 = -0,17 | 0,33-0,35 = -0,02 | 0,17-0,18 = -0,01. Donc, ce que je veux vraiment, c'est une colonne pour imprimer la différence entre les valeurs des cellules du tableau croisé dynamique. Pensez-vous que c'est possible? Merci encore pour votre temps! –