Bonjour et merci de ta réponse. Je sais le faire avec Excel. Je cherche une solution avec Power Query.Bonjour, est-ce qu'une partie de ta réponse ne se trouverait pas dans ce topic : https://www.excel-downloads.com/threads/moyenne-entre-deux-dates-choisies.182059/ ?
let MoyenneGlissante = (début as date,fin as date) => let
Lignes = Table.SelectRows(T_Ventes, each [Date]>=début and [Date]<=fin),
Resultat = List.Average(Lignes[Vente])
in Resultat
in MoyenneGlissante
Bonjour et merci.Bonjour,
Voici une piste sur le lien ci-dessous :
Rolling Average in Power Query
I am a complete newbie to Power BI I am trying to reproduce this type of calculation in the Power Query Editor of Power BI. The screenshot is from Excel and in column C it uses AVERAGE($B$2: B2) ...stackoverflow.com
Cordialement
Bonjour @Roblochon ,Bonjour,
Voici une fonction en M qui vous donnera la moyenne des ventes entre deux dates (début et fin) pour une table 'T_Ventes' ayant une colonne 'Date' et une colonne 'Vente'
Code:let MoyenneGlissante = (début as date,fin as date) => let Lignes = Table.SelectRows(T_Ventes, each [Date]>=début and [Date]<=fin), Resultat = List.Average(Lignes[Vente]) in Resultat in MoyenneGlissante
Sans plus d'explication sur le pourquoi du comment du pataquès difficile de faire plus.
bonne journée
=SIERREUR(MOYENNE(DECALER(B7;;;-7));"")
let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Valeur", Int64.Type}}),
#"Index ajouté" = Table.AddIndexColumn(#"Type modifié", "Index", 1, 1, Int64.Type),
#"Personnalisée ajoutée" = Table.AddColumn(#"Index ajouté", "Moyenne Semaine", each List.Average(List.Range(Source[Valeur],[Index]-7,7))),
#"Autres colonnes supprimées" = Table.SelectColumns(#"Personnalisée ajoutée",{"Moyenne Semaine"}),
#"Type modifié1" = Table.TransformColumnTypes(#"Autres colonnes supprimées",{{"Moyenne Semaine", type number}}),
#"Erreurs remplacées" = Table.ReplaceErrorValues(#"Type modifié1", {{"Moyenne Semaine", null}})
in
#"Erreurs remplacées"
Bonjour @job75 ,Bonsoir danielco, le fil,
Votre formule en C7 va bien sauf quand on ajoute ou supprime des lignes.
Dans ce cas il faut utiliser :
Ce devrait maintenant être simple sur Power Query.Code:=SIERREUR(MOYENNE(DECALER(B7;;;-7));"")
A+
Oui ! Merci ! Si j'ai bien compris, "List.Range" est l'équivalent de DECALER d'Excel ? (cf. Job75).Bonsoir @ tous,
Voir PJVB:let Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content], #"Type modifié" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Valeur", Int64.Type}}), #"Index ajouté" = Table.AddIndexColumn(#"Type modifié", "Index", 1, 1, Int64.Type), #"Personnalisée ajoutée" = Table.AddColumn(#"Index ajouté", "Moyenne Semaine", each List.Average(List.Range(Source[Valeur],[Index]-7,7))), #"Autres colonnes supprimées" = Table.SelectColumns(#"Personnalisée ajoutée",{"Moyenne Semaine"}), #"Type modifié1" = Table.TransformColumnTypes(#"Autres colonnes supprimées",{{"Moyenne Semaine", type number}}), #"Erreurs remplacées" = Table.ReplaceErrorValues(#"Type modifié1", {{"Moyenne Semaine", null}}) in #"Erreurs remplacées"
Cordialement
Oui c'est bien celaOui ! Merci ! Si j'ai bien compris, "List.Range" est l'équivalent de DECALER d'Excel ? (cf. Job75).
Oui il y quelques différences,Merci à toi aussi. Je n'ai pas vu de différence avec la solution de R@chid.
Re,Merci à toi aussi. Je n'ai pas vu de différence avec la solution de R@chid.