Microsoft 365 Powerquery - Faire un total cumulé par Compte/Année/Mois

GADENSEB

XLDnaute Impliqué
Bonjour,
Je souhaiterais faire via powerquery, comme sur le TCD, une somme cumulée par Compte/Année/Mois.
Est-ce qu'il faut passer par un index?
Merci à vous
Bonne journée
Seb
 

Pièces jointes

  • PQ - Cumul selon date et Compte - v0.xlsx
    23.4 KB · Affichages: 9

merinos

XLDnaute Accro
Bonjour @GADENSEB ,

il existe des fonctions specificues pour le calcul selon de temps...

J'ai employé un calendrier permettant de faire commencer l'année fiscale un autre mois (6)
mais les mesures ne spécifient pas la date de debut d'année


Au plaisir,

Merinos
 

Pièces jointes

  • PQ - Cumul selon date et Compte - v0.xlsx
    436.9 KB · Affichages: 3

JFL_XLD

XLDnaute Junior
Bonjour à tous !
Une autre approche Power Query (à adapter....)
VB:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Jointure = Table.NestedJoin(Source, {"COMPTE"}, Source, {"COMPTE"}, "Source", JoinKind.LeftOuter),
    Expand = Table.ExpandTableColumn(Jointure, "Source", {"MOIS", "COMPTE", "MONTANT"}, {"MOIS.1", "COMPTE.1", "MONTANT.1"}),
    Filtre = Table.SelectRows(Expand, each [MOIS.1] <= [MOIS]),
    GroupBy = Table.Group(Filtre, {"COMPTE", "MOIS"}, {{"Montant", each List.Sum([MONTANT.1]), type number}})
in
    GroupBy
 

GADENSEB

XLDnaute Impliqué
Hello
Merci à tous des codes !!!
@JFL_Excel
Comment rajouter la notion d'année différente ?
J'avoue que je bloque .... j'ai changé deux année de 2023 en 2022
Bonjour à tous !
Une autre approche Power Query (à adapter....)
VB:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Jointure = Table.NestedJoin(Source, {"COMPTE"}, Source, {"COMPTE"}, "Source", JoinKind.LeftOuter),
    Expand = Table.ExpandTableColumn(Jointure, "Source", {"MOIS", "COMPTE", "MONTANT"}, {"MOIS.1", "COMPTE.1", "MONTANT.1"}),
    Filtre = Table.SelectRows(Expand, each [MOIS.1] <= [MOIS]),
    GroupBy = Table.Group(Filtre, {"COMPTE", "MOIS"}, {{"Montant", each List.Sum([MONTANT.1]), type number}})
in
    GroupBy

Merci à vous
bonne soirée
Seb
 

Pièces jointes

  • PQ - Cumul selon date et Compte - v2.xlsx
    114 KB · Affichages: 2

JFL_XLD

XLDnaute Junior
Hello
Merci à tous des codes !!!
@JFL_Excel
Comment rajouter la notion d'année différente ?
J'avoue que je bloque .... j'ai changé deux année de 2023 en 2022


Merci à vous
bonne soirée
Seb
Comme ceci ?
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Jointure = Table.NestedJoin(Source, {"ANNE", "COMPTE"}, Source, {"ANNE", "COMPTE"}, "Source", JoinKind.LeftOuter),
    Expand = Table.ExpandTableColumn(Jointure, "Source", {"MOIS", "COMPTE", "MONTANT"}, {"MOIS.1", "COMPTE.1", "MONTANT.1"}),
    Filtre = Table.SelectRows(Expand, each [MOIS.1] <= [MOIS]),
    GroupBy = Table.Group(Filtre, {"ANNE", "COMPTE", "MOIS"}, {{"Montant", each List.Sum([MONTANT.1]), type number}}),
    Tri = Table.Sort(GroupBy,{{"ANNE", Order.Ascending}, {"COMPTE", Order.Ascending}, {"MOIS", Order.Ascending}})
in
    Tri
 

GADENSEB

XLDnaute Impliqué
Re hello
Je vais tester.
Cela fera le cumul Compte-Année-mois ?
Comme ceci ?
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Jointure = Table.NestedJoin(Source, {"ANNE", "COMPTE"}, Source, {"ANNE", "COMPTE"}, "Source", JoinKind.LeftOuter),
    Expand = Table.ExpandTableColumn(Jointure, "Source", {"MOIS", "COMPTE", "MONTANT"}, {"MOIS.1", "COMPTE.1", "MONTANT.1"}),
    Filtre = Table.SelectRows(Expand, each [MOIS.1] <= [MOIS]),
    GroupBy = Table.Group(Filtre, {"ANNE", "COMPTE", "MOIS"}, {{"Montant", each List.Sum([MONTANT.1]), type number}}),
    Tri = Table.Sort(GroupBy,{{"ANNE", Order.Ascending}, {"COMPTE", Order.Ascending}, {"MOIS", Order.Ascending}})
in
    Tri
 

GADENSEB

XLDnaute Impliqué
Ben je n'arrive pas à touver la bonne sélection de colonne qui fait que je supprime les doublons
c'est difficile d'envoyer le fichier, car bcp de données perso dessus
Mais j'ai pu constater que le code me faisait *5 sur le total (en générant les doublons)
c'est super bizarre
 

GADENSEB

XLDnaute Impliqué
Pour complément,
J'ai adapté le code à mon fichier source
"DEBITCREDIT" = "montant" dans le premier code

VB:
let
    Source = Excel.CurrentWorkbook(){[Name="TAB_COMPTES"]}[Content],
    #"Lignes filtrées" = Table.SelectRows(Source, each ([COMPTE] = "AAA") and ([BUDGET REEL] = "REEL")),
    Jointure = Table.NestedJoin(#"Lignes filtrées", {"ANNEE", "COMPTE"}, #"Lignes filtrées", {"ANNEE", "COMPTE"}, "Source", JoinKind.LeftOuter),
      Expand = Table.ExpandTableColumn(#"Lignes filtrées1", "Source", {"MOIS", "COMPTE", "DEBITCREDIT"}, {"MOIS.1", "COMPTE.1", "DEBITCREDIT.1"}),
    #"Type modifié" = Table.TransformColumnTypes(Expand,{{"DATE", type date}}),
    Filtre = Table.SelectRows(#"Type modifié", each [MOIS.1] <= [MOIS]),
    GroupBy = Table.Group(Filtre, {"COMPTE", "ANNEE", "MOIS"}, {{"DEBITCREDIT", each List.Sum([DEBITCREDIT.1]), type number}}),
    Tri = Table.Sort(GroupBy,{{"ANNEE", Order.Ascending}, {"COMPTE", Order.Ascending}, {"MOIS", Order.Ascending}})
in
    Tri
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35