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 @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
33
Affichages
738
Réponses
5
Affichages
464
Réponses
2
Affichages
448
Réponses
8
Affichages
391
Retour