IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POWER Discussion :

Générer des ventilations mensuelles à partir d'un montant, d'une date de début et d'une durée


Sujet :

POWER

  1. #1
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut Générer des ventilations mensuelles à partir d'un montant, d'une date de début et d'une durée
    Bonjour,

    Je récupère des données qui sont, entre autres :
    • Un montant prévisionnel
      Une date de démarrage
      Une durée


    J'aimerais pouvoir enrichir mon tableau de données avec la ventilation par mois du montant sur la durée précisée
    Exemple :

    J'ai une ligne avec
    ID montant prévisionnel date de démarrage durée
    ID1 100000 01/01/2024 5

    J'aimerais pouvoir "générer" directement dans PowerQ ces données là et les exploiter ensuite

    ID montant prévisionnel date de démarrage durée mois projeté mois
    ID1 100000 01/01/2024 5 01/01/2024 20000
    ID1 100000 01/01/2024 5 01/02/2024 20000
    ID1 100000 01/01/2024 5 01/03/2024 20000
    ID1 100000 01/01/2024 5 01/04/2024 20000
    ID1 100000 01/01/2024 5 01/05/2024 20000

    Je précise que je sais le faire avec Excel ou autrement qu'avec PowerQuery et que donc je ne cherche pas de méthode pour retravailler les données avant de les faire ingérer à PowerQ
    J'aimerais pouvoir effectuer ces transformation directement dans PowerQ

    Merci pour votre aide
    Un problème sans solution est un problème mal posé. (Albert Einstein)

    Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité (Albert Einstein)

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 229
    Points : 452
    Points
    452
    Par défaut
    Bonjour Dinytro, le forum,

    Tu trouveras une solution ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    let
        Source = Table.FromRecords({[
            ID = "ID1", 
            #"montant prévisionnel" = 100000, 
            #"date de démarrage" = #date(2024,1,1), 
            durée = 5]}),
        AjoutColonne_Ventilation = Table.AddColumn(Source, "Ventilation", each let dateDeb = [date de démarrage], durée = [durée], montant = [montant prévisionnel]/durée in Table.FromRecords(List.Transform({0 .. durée-1}, each [mois = Date.AddMonths(dateDeb, _), #"projeté mois" = montant]))),
        ExpandData_Ventilation = Table.ExpandTableColumn(AjoutColonne_Ventilation, "Ventilation", {"mois", "projeté mois"}, {"mois", "projeté mois"})
    in
        ExpandData_Ventilation
    A+

  3. #3
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut
    Un grand merci !!!
    Un problème sans solution est un problème mal posé. (Albert Einstein)

    Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité (Albert Einstein)

  4. #4
    Membre expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 491
    Points : 3 039
    Points
    3 039
    Par défaut
    Bonjour

    Il me semble que cette question a déjà été posée ici telle quelle, mais je ne la retrouve pas

    Voici le code que j'avais gardé (et peut-être modifié) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    let
        Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
        #"Type modifié" = Table.TransformColumnTypes(Source,{{"Etape", type text}, {"Début", type date}, {"Fin", type date}, {"Durée", Int64.Type}, {"CA", Int64.Type}}),
        #"Personnalisée ajoutée" = Table.AddColumn(#"Type modifié", "Personnalisé", each List.Numbers(0,[Durée],1)),
        #"Personnalisé développé" = Table.ExpandListColumn(#"Personnalisée ajoutée", "Personnalisé"),
        #"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisé développé", "New deb", each Date.AddMonths([Début],[Personnalisé]),type date),
        #"Colonnes supprimées" = Table.RemoveColumns(#"Personnalisée ajoutée1",{"Début", "Fin", "Durée", "Personnalisé"}),
        #"Colonnes permutées" = Table.ReorderColumns(#"Colonnes supprimées",{"Etape", "New deb", "CA"})
    in
        #"Colonnes permutées"
    En espérant que cela aide

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/04/2022, 18h59
  2. Réponses: 10
    Dernier message: 06/01/2020, 17h59
  3. Réponses: 6
    Dernier message: 25/06/2019, 12h09
  4. Réponses: 33
    Dernier message: 03/07/2016, 12h35
  5. Stocker des entier à partir d'un fichier dans une ArrayList
    Par FstDsi dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 10/07/2009, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo