Power Query Ajout colonne cumulé Power Quey

  • Initiateur de la discussion Initiateur de la discussion chermiti
  • Date de début Date de début

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 !

chermiti

XLDnaute Occasionnel
Bonjour à tous,

j'ai besoin de votre aide s'ils vous plait, je veux ajouter une colonne qui calcule le résultat cumulé par année en utilisant le power query sous certaines conditions le résultat cumulé doit correspondre uniquement si Colonne A qui contient "PL" si non le montant est le meme que colonne E , ainsi le résultat cumulé doit tenir compte de l'année , donc si il y'a changement d'année le résultat cumulé sera calculée à nouveau pour cette nouvelle année, j'ai déja créé le formule en excel, plus de détail en PJ
1744117737196.png
 

Pièces jointes

Solution
Bonjour,
Je n'ai pas du tout modifié le début de ton code, voici donc ton code initial + le code te permettant d'obtenir le cumul
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="tData"]}[Content],
    #"Table transposée" = Table.Transpose(Source),
    #"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Table transposée", {{"Column1", type text}}, "fr-FR"),{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Fusionné"),
    #"Table transposée1" = Table.Transpose(#"Colonnes fusionnées"),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Table transposée1",{"Column2"}),
    #"En-têtes promus" = Table.PromoteHeaders(#"Colonnes supprimées", [PromoteAllScalars=true]),
    #"Supprimer le tableau croisé dynamique des autres...
Bonjour,
Je n'ai pas du tout modifié le début de ton code, voici donc ton code initial + le code te permettant d'obtenir le cumul
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="tData"]}[Content],
    #"Table transposée" = Table.Transpose(Source),
    #"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Table transposée", {{"Column1", type text}}, "fr-FR"),{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Fusionné"),
    #"Table transposée1" = Table.Transpose(#"Colonnes fusionnées"),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Table transposée1",{"Column2"}),
    #"En-têtes promus" = Table.PromoteHeaders(#"Colonnes supprimées", [PromoteAllScalars=true]),
    #"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"En-têtes promus", {"Year|Description"}, "Attribut", "Montant"),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Supprimer le tableau croisé dynamique des autres colonnes", "Attribut", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Year", "Mois"}),
    #"Renamed Columns" = Table.RenameColumns(#"Fractionner la colonne par délimiteur",{{"Mois", "Month"}, {"Montant", "Amount"}}),
    #"Duplicated Column" = Table.DuplicateColumn(#"Renamed Columns", "Year|Description", "Year|Description - Copy"),
    #"Reordered Columns" = Table.ReorderColumns(#"Duplicated Column",{"Year|Description - Copy", "Year|Description", "Year", "Month", "Amount"}),
    Cat = Table.TransformColumns(#"Reordered Columns", {{"Year|Description - Copy", each Text.Start(_, 2), type text}}),
    Fusion = Table.NestedJoin(Cat, {"Year|Description - Copy", "Year|Description", "Year"}, Cat, {"Year|Description - Copy", "Year|Description", "Year"}, "Nested", JoinKind.LeftOuter),
    AjtIdx = Table.Combine(Table.Group(Fusion, {"Year|Description - Copy", "Year|Description", "Year"}, {{"Idx", each Table.AddIndexColumn(_,"Num",1) }})[Idx]),
    Calcul = Table.AddColumn(AjtIdx, "Personnalisé", each if [#"Year|Description - Copy"]="PL" then List.Sum(List.FirstN([Nested][Amount],[Num])) else [Amount]),
    SupprCol = Table.RemoveColumns(Calcul,{"Nested", "Num"})
in
    SupprCol
Bonne journée
 
Bonjour,
Je n'ai pas du tout modifié le début de ton code, voici donc ton code initial + le code te permettant d'obtenir le cumul
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="tData"]}[Content],
    #"Table transposée" = Table.Transpose(Source),
    #"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Table transposée", {{"Column1", type text}}, "fr-FR"),{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Fusionné"),
    #"Table transposée1" = Table.Transpose(#"Colonnes fusionnées"),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Table transposée1",{"Column2"}),
    #"En-têtes promus" = Table.PromoteHeaders(#"Colonnes supprimées", [PromoteAllScalars=true]),
    #"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"En-têtes promus", {"Year|Description"}, "Attribut", "Montant"),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Supprimer le tableau croisé dynamique des autres colonnes", "Attribut", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Year", "Mois"}),
    #"Renamed Columns" = Table.RenameColumns(#"Fractionner la colonne par délimiteur",{{"Mois", "Month"}, {"Montant", "Amount"}}),
    #"Duplicated Column" = Table.DuplicateColumn(#"Renamed Columns", "Year|Description", "Year|Description - Copy"),
    #"Reordered Columns" = Table.ReorderColumns(#"Duplicated Column",{"Year|Description - Copy", "Year|Description", "Year", "Month", "Amount"}),
    Cat = Table.TransformColumns(#"Reordered Columns", {{"Year|Description - Copy", each Text.Start(_, 2), type text}}),
    Fusion = Table.NestedJoin(Cat, {"Year|Description - Copy", "Year|Description", "Year"}, Cat, {"Year|Description - Copy", "Year|Description", "Year"}, "Nested", JoinKind.LeftOuter),
    AjtIdx = Table.Combine(Table.Group(Fusion, {"Year|Description - Copy", "Year|Description", "Year"}, {{"Idx", each Table.AddIndexColumn(_,"Num",1) }})[Idx]),
    Calcul = Table.AddColumn(AjtIdx, "Personnalisé", each if [#"Year|Description - Copy"]="PL" then List.Sum(List.FirstN([Nested][Amount],[Num])) else [Amount]),
    SupprCol = Table.RemoveColumns(Calcul,{"Nested", "Num"})
in
    SupprCol
Bonne journée
Merci impéccable, ça marche à merveille
 
- 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
Retour