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

Microsoft 365 Fusionner deux tableaux croisés dynamiques avec Power Query

iliess

XLDnaute Occasionnel
Bonjour
SVP, je cherche comment fusionner deux tableaux croisés dynamiques avec Power Query.
Salutation, cordialement

Voici mon fichier
 

Pièces jointes

  • fusion Tableau croisé dynamique.xlsx
    128.2 KB · Affichages: 9
Solution
Bonjour iliess, goube, le forum,

Ci-dessous une autre proposition basée sur ton fichier du post #1.

PowerQuery:
let
    SourceTypeA = Table.AddColumn(Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content], "Type", each "Type A", type text),
    SourceTypeB = Table.AddColumn(Excel.CurrentWorkbook(){[Name="Tableau2"]}[Content], "Type", each "Type B", type text),
    CumulSources = SourceTypeA & SourceTypeB,
    CleanMontants = Table.TransformColumns(CumulSources,List.Transform({"DEBIT", "CREDIT"}, each {_, (val) => if val = null then 0 else Number.From(val), type number})),
    GroupByClientType = Table.Group(CleanMontants, {"Client", "Type"}, {{"Montant", each List.Sum([CREDIT])-List.Sum([DEBIT]), type number}}),
    PivotTypeColumns = Table.Pivot(GroupByClientType...

mromain

XLDnaute Barbatruc
Bonjour iliess, goube, le forum,

Ci-dessous une autre proposition basée sur ton fichier du post #1.

PowerQuery:
let
    SourceTypeA = Table.AddColumn(Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content], "Type", each "Type A", type text),
    SourceTypeB = Table.AddColumn(Excel.CurrentWorkbook(){[Name="Tableau2"]}[Content], "Type", each "Type B", type text),
    CumulSources = SourceTypeA & SourceTypeB,
    CleanMontants = Table.TransformColumns(CumulSources,List.Transform({"DEBIT", "CREDIT"}, each {_, (val) => if val = null then 0 else Number.From(val), type number})),
    GroupByClientType = Table.Group(CleanMontants, {"Client", "Type"}, {{"Montant", each List.Sum([CREDIT])-List.Sum([DEBIT]), type number}}),
    PivotTypeColumns = Table.Pivot(GroupByClientType, List.Distinct(GroupByClientType[Type]), "Type", "Montant", each if List.Sum(_)=null then 0 else List.Sum(_)),
    AddColumnSolde = Table.AddColumn(PivotTypeColumns, "Solde", each [Type B]-[Type A], type number)
in
    AddColumnSolde

A+
 

Discussions similaires

Réponses
8
Affichages
358
Réponses
7
Affichages
482
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…