Projection mensuelle d’une valeur entre 2 dates dans une matrice

Accueil – Le CFO masqué Forums Power BI Projection mensuelle d’une valeur entre 2 dates dans une matrice

  • Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par Stéphane Lorin, le il y a 2 années et 12 mois.
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Articles
  • #89732
    STEPHANE PLANET
    Participant

    Bonjour,
    Pour chaque projet, je dispose d’une date de début et d’une date de fin
    Plusieurs acteurs vont etre affectés au projet en unité Homme/mois

    Je dois construire une matrice tableau dans PBI avec :
    Tous les mois de l’année (vide ou non vide)
    le nombre Homme/mois dans chaque mois compris entre la date de début et de fin de projet

    Merci beaucoup pour vos idées et solutions

    Vous trouverez ci-joint :
    le fichier PBI avec quelques tests
    le fichier source Excel avec dans le feuille une la matrice attendu dans PBI

    • Ce sujet a été modifié le il y a 3 années par STEPHANE PLANET. Raison: pas mis l'abonnement
    • Ce sujet a été modifié le il y a 3 années par STEPHANE PLANET.
    Attachments:
    You must be logged in to view attached files.
    #89950
    Stéphane Lorin
    Participant

    Bonjour

    Je vous propose un code Power Query qui transforme votre tableau de départ en votre “résultat attendu”
    Le principe est d’ajouter une liste de 0 à n avec n le nombre de mois d’écart entre le début et la fin.
    Comme il n’y a pas de fonction de différence de mois, j’utilise la différence de jours Duration.Days divisée par 30 et j’ajoute 1 par sécurité (pour gérer les arrondis et les mois qui ne font pas 30 jours), j’ajoute Number.IntergerDivide pour arrondir à l’entier

    La liste est donc obtenue via
    {0..Number.IntegerDivide(Duration.Days([Date prévi fin] – [Date prévi début]),30)+1}

    Ensuite je développe la liste en ligne et j’utilise la fonction Date.AddMonths
    En dernière étape je filtre sur les dates périodes supérieures à la date de fin.

    Code sous Excel à adapter à PBI
    let
    Source = Excel.CurrentWorkbook(){[Name=”TblProjets”]}[Content],
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“Projet”, type text}, {“Date prévi début”, type date}, {“Date prévi fin”, type date}, {“Direction”, type number}, {“Chef de projet”, type number}}),
    Liste = Table.AddColumn(#”Type modifié”, “Liste Ajout Mois”, each {0..Number.IntegerDivide(Duration.Days([Date prévi fin] – [Date prévi début]),30)+1}),
    #”Liste Ajout Mois développé” = Table.ExpandListColumn(Liste, “Liste Ajout Mois”),
    #”Personnalisée ajoutée” = Table.AddColumn(#”Liste Ajout Mois développé”, “Date période”, each Date.AddMonths([Date prévi début],[Liste Ajout Mois]), type date),
    #”Lignes filtrées” = Table.SelectRows(#”Personnalisée ajoutée”, each [Date période] <= [Date prévi fin]),
    #”Autres colonnes supprimées” = Table.SelectColumns(#”Lignes filtrées”,{“Projet”, “Date période”, “Direction”, “Chef de projet”})
    in
    #”Autres colonnes supprimées”

    Cordialement

    Stéphane

2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.