PowerQuery/PowerPivot - Calcul Délicat

Bonjour,
J'aurais besoin de votre aide pour le point suivant :
J'ai une table dans PowerPivot (importée depuis PowerQuery) qui contient des données du type :

Code 1Code 2
AC
C

B

BD
AE

La première ligne signifie que C est subordonné à A
La deuxième ligne signifie que B est subordonné à C
La troisième ligne signifie que D est subordonné à B
La quatrième ligne signifie que E est subordonné à A

Pour faire plus simple, en gros, les Codes 1 sont les maîtres des Codes 2.
Mais il n'y a pas de hiérarchie globale, juste ligne par ligne.
Les codes 2 sont uniques dans cette table, un code 2 subordonné à un code 1 ne peut pas être le subordonné d'un autre code 1.

J'ai une deuxième table dans PowerPivot (importée depuis PowerQuery) qui contient des données du type :

Date

Code

Montant
xx/xx/xxxx

A

100

xx/xx/xxxxC25
xx/xx/xxxxC30
xx/xx/xxxxA50
xx/xx/xxxxB11
xx/xx/xxxxE12
xx/xx/xxxxD45

Je veux obtenir un TCD qui groupe les données pour chaque code (les codes sont donc uniques dans ce TCD) et y effectuer un calcul en fonction des deux tables précédentes. Ceci pour une période (dates) filtrée.

CodeCalcul
A(100+50) * 10% + (25 + 30 + 12) * 5%
B11 * 10% + 45 * 5%
C(25+30) * 10% + 11 * 5 %
D45 * 10%
E12 * 10%

Le calcul est réalisé ainsi pour un code donné:

On applique un calcul de 10% à la somme des montants qui se trouve dans la deuxième table pour ce code

ET (c'est le point délicat)

On ajoute également 5% de la somme des montants des codes subordonnés à ce code, qui se trouvent dans la deuxième table

Première ligne : puisque dans la deuxième table, A a pour montant 100 et 50 on fait (100+50)*10%
Et comme C et E sont subordonnés à A (première table) on ajoute également (25+30+12)*5%

Deuxième ligne : puisque dans la deuxième table, B a pour montant 11 on fait 11*10%
Et comme D sont subordonnés à B (première table) on ajoute également 45*5%

Troisème ligne : puisque dans la deuxième table, C a pour montant 25 et 30 on fait (30+25)*10%
Et comme B est subordonné à C (première table) on ajoute également 11*5%

Quatrième ligne : puisque dans la deuxième table, D a pour montant 45 on fait 45*10%
Et comme D n’a pas de subordonné dans la première table on n’ajoute rien

Cinquième ligne : puisque dans la deuxième table, E a pour montant 12 on fait 12*10%
Et comme E n’a pas de subordonné dans la première table on n’ajoute rien

Merci !

Bonsoir à tous !

Une proposition Power Query à adapter ?

Un grand merci JFL, je viens de reproduire toutes les étapes pour bien comprendre.
Je croise les doigts pour avoir initialement bien transcrit mon problème. Vous venez d'élargir mes possibilités merci.

Bonsoir de nouveau !

Je vous remercie de ce retour et..... bonne chance pour la suite !

Rechercher des sujets similaires à "powerquery powerpivot calcul delicat"