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

Power Query Ecritures comptables Power Query

oobiz

XLDnaute Nouveau
Bonjour à tous,

Je souhaite transformer chaque ligne comportant plusieurs montants et comptes => en écritures comptables de plusieurs lignes. (1 compte + 1 montant par ligne)
J'aimerais le faire avec Power Query mais je bloque dans la démarche. (index, unpivot) je n'arrive pas à bien partir.
Je vous joins le fichier de test.
Onglet Données : Tableau de données et en dessous le résultat espéré
Onglet Tableau242 : le début de PowerQuery

Merci d'avance aux âmes charitables
Bon dimanche !
 

Pièces jointes

  • Test Query 1.xlsx
    21.7 KB · Affichages: 20

alexga78

XLDnaute Occasionnel
Bonjour Oobiz, le forum,

PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau242"]}[Content],
    cols = {{"DATE", "ID transaction", "Type de transaction"}}  & {{"Montant", "Compte"}},
    fx = (x as record, y as list) as table =>
         Table.FromRows(List.Split(List.RemoveItems(List.RemoveFirstN(Record.ToList(x),3), {0,null}),2), y),
    Process = Table.AddColumn(Source, "x", each fx(_, cols{1})),
    Result = Table.SelectColumns(Table.ExpandTableColumn(Process,"x", cols{1}),
             List.Union({cols{0}, List.Reverse(cols{1})}))
in
    Result

Bon dimanche
 

oobiz

XLDnaute Nouveau
Je vous remercie @alexga78, cela fonctionne parfaitement !!!

J'essaie de comprendre votre méthode pour arriver au résultat. (J'aimerais apprendre en même temps)
cols : vous créez 2 listes (une avec les 3 champs permanents et une avec 2 nouvelles variables (montant et comptes)
fx /process : la fonction créée la colonne x qui pour chaque ligne contient une sous liste (montant et compte) autant de fois qu'il ya des variables (compte/montant => pv/compte pv ; actif/compte actif ; support/compte support)
result : vous étendez la sous liste en créant des lignes supplémentaires

Difficile de restituer ce que j'ai compris. Désolé, c'est dur d'expliquer et aussi d'utiliser des fonctions que je ne connais pas.

Cordialement,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…