TCD - % par rapport à un parent

Bonjour à tous,

je fais appel aux sachant !

je recherche un moyen d'obtenir dans un TCD le % d'un total général selon un parent. dans mon exemple en PJ, vous verrez la subtilité que je souhaite.

je sais obtenir le % d'un parent dans un TCD mais pour la fameuse subtilité indiqué ci-dessus... ça je ne sais pas faire !

en vous remerciant par avance.

9classeur1.xlsx (12.44 Ko)

Hello,

Une propal par PowerQuery, ça te convient ? Tu remplis tes données et derrière tu fais clic droit actualiser sur le tableau de droite

Désolé pour le nommage, si c'est ok je renommerai correctement les étapes

@+

15classeur1.xlsx (19.76 Ko)

Merci Baroute pour ton retour.

effectivement Power query est une solution.

Cependant, dans mon cas réel, la base de donnée est déjà une base QUERY.

je vais voir pour passer par cette solution QUERY.

Merci de ton aide sur ce coup

Hello,

Tu peux mettre ta requête en source ça marche aussi :)

Si c'est ok pour toi hésite pas à mettre le post en résolu

@+

Merci de ton retour.

Je suis en plein dessus !

Quelle est la manipulation pour définir une requête en source ?

j'ai aussi un petit blocage par rapport à la fonction "somme".

en effet, quand je fais une somme il fait la somme selon les colonnes disponibles (en l'occurrence 1 et 2) : = Table.AddColumn(#"Colonne dynamique", "Addition", each List.Sum({[1], [2]}), type number)

La difficulté étant que quand je retire un mois ou que j'ajoute un mois, forcément la formule ne marche plus.

je suppose qu'il faudrait changer le code pour qu'il soit dynamique (à mesure que des mois, et donc des colonnes, s'ajoutent) ?

Hello,

Pour la source il faut la mettre sur les trois requêtes :

image

Pour la somme en fait j'ai deux requêtes qui te récupèrent les valo tous mois confondus par hbgt et les valo tous mois confondus par hbgt et pole.

Donc si tu rajoutes des données pour un troisième mois ça se prend en auto et ton tableau se met à jour tout seul en rajoutant une colonne :)

Voici le fichier avec le renommage et j'ai ajouté une ligne avec le mois 3 et ça fonctionne elle s'est bien rajoutée et a bien recalculé le taux

13classeur1-1.xlsx (20.31 Ko)

@+

Bonjour à tous

A noter qu'il n'est pas possible d'obtenir un total sans le détail correspondant dans un TCD donc tu ne peux que masquer les colonnes dont tu ne veux pas

image

si je suis obligé de passer par une autre table pour obtenir le total dynamique alors ok.

Vous pensez qu'il existe aucune astuce pour avoir une somme dynamique via une formule ? genre je met de 1 à 12 et même si cela s'arrête avant 12, il fait quand même la somme de ce qu'il y a.

Bonjour

Faisable en une seule requête (tableau nommé Donnees)

let
    Source = Excel.CurrentWorkbook(){[Name="Donnees"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"hébergement", type text}, {"pole", type text}, {"Valo", Int64.Type}, {"mois", Int64.Type}}),
    Etat1 = Table.Group(#"Type modifié", {"hébergement", "pole"}, {{"Total", each List.Sum([Valo]), type nullable number}}),
    #"Lignes groupées" = Table.Group(Etat1, {"hébergement"}, {{"Tot", each List.Sum([Total]), type nullable number}}),
    #"Requêtes fusionnées" = Table.NestedJoin(Etat1, {"hébergement"}, #"Lignes groupées", {"hébergement"}, "Lignes groupées", JoinKind.Inner),
    #"Lignes groupées développé" = Table.ExpandTableColumn(#"Requêtes fusionnées", "Lignes groupées", {"Tot"}, {"Tot"}),
    #"Personnalisée ajoutée" = Table.AddColumn(#"Lignes groupées développé", "%", each [Total]/[Tot], Percentage.Type),
    #"Lignes triées" = Table.Sort(#"Personnalisée ajoutée",{{"hébergement", Order.Ascending}, {"pole", Order.Ascending}}),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Lignes triées",{"Tot"})
in
    #"Colonnes supprimées"

Hello Chris,

Je ne savais pas que c'était possible de repartir d'une étape de la requête pour la fusion à savoir Etat1 ici :)

Merci pour le tips

@+

moi non plus !!! trop fort

Chris, je suppose que pour faire cette fusion via une étape précédente, tu as dû modifier directement le code ? ce n'est pas via un bouton/coche spéciale ?

RE

Oui on croise la requête avec elle-même puis on modifie dans la barre de formule pour prendre la bonne étape

Rechercher des sujets similaires à "tcd rapport parent"