historique et cumul

Accueil – Le CFO masqué Forums Power Query historique et cumul

  • Ce sujet contient 7 réponses, 3 participants et a été mis à jour pour la dernière fois par Daniel, le il y a 4 mois.
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Articles
  • #136035
    hboisteau
    Participant

    Bonjour,

    je suis bloqué sur un développement avec power query, en effet je cherche a faire un cumul mensuel en partant de résultats journaliers et en même temps faire un cumul historique d’une numéro de de série depuis sa mise en place.

    Je joint un fichier Excel avec un tableau avant traitement et un autre tableau avec la finalité voulu.

    Je vous remercie pour toute l’aide que vous pourrez m’apporter.

    HB

    Attachments:
    You must be logged in to view attached files.
    #136067
    Antoine Fixary
    Participant

    Bonjour,

    ajouter une colonne personnalisée pour avoir un champ “Année-Mois” et regrouper par “Année_Mois” / N° Série.

    Voir fichier joint en PJ.

    Le résultat obtenu ne correspond pas au niveau des valeurs (si ça correspond à vos attentes, vous auriez pu, à minima, créer un exemple valable). Si ce n’est pas bon, précisez votre demande SVP.

    Cordialement.

    Attachments:
    You must be logged in to view attached files.
    #136073
    hboisteau
    Participant

    Merci beaucoup Antoine,

    En premier lieu excusez-moi pour les imperfections, mais vous avez compris le sens.

    Le fichier fonction super, mais je souhaiterais le cumule de la colonne Historique de N° série, en janvier il y a trois lignes et en février 4 lignes, ce qui devrait faire un total de 7.

    En faite je souhaiterais compter le nombres de jours de ce numéro de série, de façon a ce que si ce numéro de série est en fonction tout le mois de janvier 2024 alors c’est 31 et si nous l’utilisons encore en février (et ce tout le mois 29 jours) alors a la fin du mois de février nous serons à 60 jours d’utilisation.

    Encore un grand merci, pour vos conseils

    HB

    #136076
    Antoine Fixary
    Participant

    Bonjour,

    pourriez-vous donner un exmple chiffré (mettre àjour votre fichier avec un exemple de ce que vous voulez cululer).

    Merci, Antoine

    #136097
    hboisteau
    Participant

    Merci beaucoup Antoine,

    j’ai copier le fichier avec le cumul désiré.

    Encore un grand merci,

    HB

    Attachments:
    You must be logged in to view attached files.
    #136637
    hboisteau
    Participant

    Bonjour le forum,

    j’essaye de faire remonter la demande d’aide.

    Merci par avance,

    HB

    #136721
    Antoine Fixary
    Participant

    Bonjour,

    je n’avais pas le temps de jeter un oeil avant.

    Malheureusement, mes compétences en PowerQuery ne me permettent pas de vous proposer une solution.

    Cordialement

    #136778
    Daniel
    Participant

    Bonjour hboisteau, le Forum,

    1 – Créer une fonction qui servira à faire le calcul demandé comme suit
    (valeurs as list, groupe as list) as list =>

    let
    GoupRunningTotalList = List.Generate
    (
    ()=> [ GoupRunningTotal = valeurs{0}, i = 0 ],

    each [i] < List.Count(valeurs),

    each try
    if groupe{[i]} = groupe{[i] + 1}
    then [GoupRunningTotal = [GoupRunningTotal] + valeurs{[i] + 1}, i = [i] + 1]
    else [GoupRunningTotal = valeurs{[i] + 1}, i = [i] + 1]

    otherwise [i = [i] + 1]
    ,
    each [GoupRunningTotal]
    )
    in
    GoupRunningTotalList

    2 – Requête des données
    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    ModificationTypeDonnees = Table.TransformColumnTypes(Source,{{“date”, type date}, {“N° de serie”, type text}, {“resultat1”, Int64.Type}, {“resultat2”, Int64.Type}}),
    AjoutColAnneeMois = Table.AddColumn(ModificationTypeDonnees, “Période”, each Date.ToText([date],”yyyy-MM”)),
    GroupAnneeMoisSerie = Table.Group(AjoutColAnneeMois, {“Période”, “N° de serie”}, {{“Historique du numéro de série”, each Table.RowCount(_), Int64.Type}, {“Resultat1”, each List.Sum([resultat1]), type nullable number}, {“Resultat2”, each List.Sum([resultat2]), type nullable number}}),
    TriSerieAnneeMois = Table.Sort(GroupAnneeMoisSerie,{{“N° de serie”, Order.Ascending}, {“Période”, Order.Ascending}}),

    BufferedValues = List.Buffer(TriSerieAnneeMois[#”Historique du numéro de série”]),
    BufferedGroup = List.Buffer(TriSerieAnneeMois[#”N° de serie”]),

    RT = Table.FromColumns(
    {
    TriSerieAnneeMois[Période],TriSerieAnneeMois[#”N° de serie”], TriSerieAnneeMois[#”Historique du numéro de série”],
    fxGroupedRunningTotal(BufferedValues, BufferedGroup),TriSerieAnneeMois[Resultat1],TriSerieAnneeMois[Resultat2]
    },
    {
    “Période”,
    “N° de série”,
    “Historique du numéro de série”,
    “Nombre apparition numéro de série”,
    “Résultat 1”,
    “Résultat 2”
    }
    ),
    TriSurPériode = Table.Sort(RT,{{“Période”, Order.Ascending}})

    in TriSurPériode

    Reste un souci de tri sur le numéro de série qui ne donne pas exactement le même résultat que celui attendu.
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.