Accueil – Le CFO masqué › Forums › Power Query › Ajout de données par requête dans Power Query
- Ce sujet contient 4 réponses, 3 participants et a été mis à jour pour la dernière fois par JBruneau, le il y a 3 années et 9 mois.
-
AuteurArticles
-
30 novembre 2020 à 16 h 40 min #84850JBruneauParticipant
Bonjour
J’ai une table de taux de change “Exchange-d” dans notre système MXP sur laquelle j’ai fait une requête. Celle-ci ajoute 2 colonnes calculées dont une Devise-Annee-periode sur la quelle mes relations sont faites dans mes autres tables.
Dans un de mes modèle Power Pivot- réquisitions on trouve des demandes quui ont une date attendue plus loin dans le futur que les dates entrées dans le système et donc, mon modèle ne trouve pas ces dates et donne un vide au taux de change et donc une valeur CAD vide..
Ne sachant pas comment faire en “M”, j’a bien trouvé une manière détournée:
– TCD traditionnel qui me donne la dernière date par devise avec le taux effectif correspondant, Tableau “FXDatesAjoutées” ajoutant 12 mois de données avec comme taux le dernier taux pour chaque devise et finalement Requtete combinée ( ajout) de mes tables Exchange-d et FXDatesAjoutées” dans DatesFXcombinées.
Cela fonctionne mais n’est pas optimal.
Ma Question-Y-a-t-il moyen d’Ajouter 12 mois de données directement lors de la requête Initiale pour chaque devise en utilisant les taux des dernières dates pour chacune des 3 devises?
Merci d’avance
JacquesAttachments:
You must be logged in to view attached files.1 décembre 2020 à 9 h 01 min #84874Sophie MarchandParticipantBonjour,
Étant donné le fort volume de questions sur le forum en ce moment, je réponds sans avoir ouvert votre fichier pour l’examiner.
Je prends pour acquis qu’à une certaine étape, dans Power Query, vous avez une colonne de dates (passées et futures) et une colonne de taux de change (pour les dates passées).
Afin d’appliquer le dernier taux de change aux dates futures, il s’agirait simplement de vous assurer d’avoir des cellules avec l’indication “null” et ensuite de faire un remplissage vers le bas. Vous avez cette option dans le menu Transformer/Remplir/Vers le bas.
Ce faisant, la plus récente valeur de taux de change sera appliquée aux dates futures.
Si ce n’est pas ce que vous recherchez, laissez-moi savoir et quand j’aurai davantage de temps, je viendrai explorer votre fichier.
Merci.
Sophie
10 décembre 2020 à 16 h 07 min #85098JBruneauParticipantBonjour Sophie,
Merci de prendre le temps!
Je n’avais pas pensé au remplissage. Bonne idée.
Le seul problème subsistant est que les dates futures ne sont pas incluses dans ma source et donc je dois les ajouter via une requête qui ajoute 1 mois à la dernière date de chaque devise. J’y arrive en contournant le problème via un TCD et Tableau de dates ajoutées et je joint les 2 tables taux de change et dates ajoutées mais j’essayais de trouver une solution via code M qui soi moins a risque de non actualisation du TCD.
Merci d’avance de votre aide précieuse.11 décembre 2020 à 8 h 40 min #85103Stéphane LorinParticipantBonjour
Voici une proposition pour votre problématique
A partir de la table initiale, je construis une table projetée sur 12 mois avec la dernière valeur connue
– regroupement par devise + valeur max du mois : afin de connaitre le dernier mois de chaque devise
– fusion de cette table avec la table initiale sur la devise et le mois afin de récupérer la valeur du dernier mois
– ajout d’une colonne personnalisée avec une liste {1..12}
– extraction de cette liste en ligne. Chaque triplet devise/dernier mois/dernière valeur est répétée 12 fois
– utilisation de la fonction Date.AddMonths pour ajouter x mois au dernier mois
– sélection des colonnes vouluesIl suffit de modifier le 12 pour avoir plus de mois.
De cette façon, le dernier mois connu de chaque devise peut ne pas être le même.Enfin on ajoute la table initiale et la projection.
Voir le fichier exemple joint
Cordialement
Stéphane
Attachments:
You must be logged in to view attached files.14 décembre 2020 à 17 h 45 min #85242JBruneauParticipantSuper ! Merci!
J’essaye cela de ce pas.
A bientôt
Jacques -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.