Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Aide Power Query

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

netparty

XLDnaute Occasionnel
Bonjour à tous
Je me permet de vous demander votre aide
J'ai dans mon fichier plusieurs tableaux que je fusionne avec PQ pour avoir la sommes de tous mes tableaux.
Mais j'ai des lignes en doublons qui sont comptabilisées à par dans le résultat ?
1728723647013.png
Merci d'avance pour votre aide
Bonne journée
 

Pièces jointes

Solution
Bonjour @netparty, le forum,



PowerQuery:
let
Source = Table.SelectRows(Excel.CurrentWorkbook(), each Text.StartsWith([Name], "Tableau")),
a = {Table.ColumnNames(Source[Content]{0})} & {List.Transform(Source[Name], each _ & "_Qté")},
b = Table.Group(Table.ExpandTableColumn(Source, "Content", a{0}), a{0}{0}, {{"x", each
let x =  Table.ToColumns(Table.Group(_, "Name", {"y", each List.Sum([Quantité])}))
in Table.RenameColumns(Table.FromRows({x{1}}, x{0}), List.Zip ({x{0}, List.Transform(x{0}, each _ & "_Qté")}))},
{"Total_Quantité", each List.Sum([Quantité])}, {"Total_Longueur", each List.Sum([Longueur])}}),
Result = Table.ExpandTableColumn(b, "x", a{1})
in
Result

Bonne journée.
Bonjour @netparty, le forum,



PowerQuery:
let
Source = Table.SelectRows(Excel.CurrentWorkbook(), each Text.StartsWith([Name], "Tableau")),
a = {Table.ColumnNames(Source[Content]{0})} & {List.Transform(Source[Name], each _ & "_Qté")},
b = Table.Group(Table.ExpandTableColumn(Source, "Content", a{0}), a{0}{0}, {{"x", each
let x =  Table.ToColumns(Table.Group(_, "Name", {"y", each List.Sum([Quantité])}))
in Table.RenameColumns(Table.FromRows({x{1}}, x{0}), List.Zip ({x{0}, List.Transform(x{0}, each _ & "_Qté")}))},
{"Total_Quantité", each List.Sum([Quantité])}, {"Total_Longueur", each List.Sum([Longueur])}}),
Result = Table.ExpandTableColumn(b, "x", a{1})
in
Result

Bonne journée.
 
Bonjour @alexga78
Merci
 
Bonjour @netparty, le forum,

Code un peu mieux structuré.

PowerQuery:
let
    Source = Table.SelectRows(Excel.CurrentWorkbook(), each Text.StartsWith([Name], "Tableau")),
    A = Table.ColumnNames(Source[Content]{0}),
    B = Source[Name],
    Sol = Table.FromRecords(
             Table.Group(   
             Table.ExpandTableColumn(Source, "Content", A), A{0}, {{"x", (x)=>
             Record.FromList({Table.Column(x,A{0}){0}}, {A{0}}) &
             List.Accumulate(B, [], (s,c)=> s & Record.FromList({List.Sum(Table.Column(Table.SelectRows(x, each [Name] = c), A{1}))} , {c & "_Qté"})) &
             List.Accumulate(List.Skip(A), [], (s,c)=> s & Record.FromList({List.Sum(Table.Column(x,c))} , {"Total_" & c}))
             }})[x])
in
    Sol

Bonne journée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
75
  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
197
  • Question Question
Microsoft 365 Power Query
Réponses
8
Affichages
144
  • Question Question
Microsoft 365 Power Query
Réponses
2
Affichages
87
Réponses
6
Affichages
101
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…