Power Pivot Créer un formule à partir d'un tableau croisé dynamique avec segments

cindy02

XLDnaute Nouveau
Bonjour.
Je suis en création d'un fichier tableau de bord qui utilise les tableaux croisés dynamiques, les segments, et power pivot pour des indicateurs.
Sur une feuille, j'ai besoin d'intégrer un calcul qui vient piocher dans un tableau croisé dynamique la masse salariale afin de calculer des frais des structure qui sont différents en fonction de l'activité.
En effet, j'ai 3 types d'activités "C", "E" et "H" auxquels je dois appliquer des coefficients différents, ex : C=28 %, E=13% et H=35%.
Lorsque j'ai bien les 3 activités présentes, ma formule fonctionne. Cependant, dès lors que j'applique un filtre sur le segment, mon calcul devient une erreur car des cellules sources disparaissent du TCD.
Ex : Masse salariale C = 3000 €, E = 800 € et H = 5000 €.
Ma formule : Frais de structures cumulés = ("Masse salariale C"*28/100) + ("Masse salariale E"*13/100) + ("Masse salariale H"*35/100)
Quand je fais un requête segment sur l'activité C, H ou E disparaissent de mon TCD, du coup ma formule devient erreur.
Comment intégrer dans ma formule une condition qui vient s'appliquer sur un filtre ?
Je joins un fichier pour exemple.
Merci beaucoup.

Cindy
 

Pièces jointes

  • TEST FS DEMANDE FORUM.xlsx
    24.9 KB · Affichages: 19

goube

XLDnaute Impliqué
Bonjour,
Intégrer SIERREUR dans la formule :
VB:
=SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"C")*B2;0)+SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"E")*B3;0)+SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"H")*B4;0)
Cordialement.
 

Dugenou

XLDnaute Barbatruc
Remplacez *B2 par un recherchev :
RECHERCHEV("C";$A$2:$B$4;2;FAUX) et de même pour les deux autres lettres
Avec un sierreur pour chaque terme au cas où la lettre serait absente :

=SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"C")*RECHERCHEV("C";$A$2:$B$4;2;FAUX);0)+SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"E")*RECHERCHEV("E";$A$2:$B$4;2;FAUX);0)+SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("masse salariale";$E$6;"Activités";"H")*RECHERCHEV("H";$A$2:$B$4;2;FAUX);0)

Cordialement
 

chris

XLDnaute Barbatruc
Bonjour à tous

Tu confonds PowerPivot et PowerQuery

Tu as chargé le tableau source du TCD dans PowerQuery mais tu ne l'utilises pas

C'est là qu'il faut calculer les frais de structure puis construire le TCD sur la requête
 

Pièces jointes

  • Frais_Structure_PQ.xlsx
    28.9 KB · Affichages: 27

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon