Accueil – Le CFO masqué › Forums › Power Query › Fusion de fichier avec des colonnes différentes
- Ce sujet contient 5 réponses, 3 participants et a été mis à jour pour la dernière fois par
M Sadoulet, le il y a 4 années et 7 mois.
-
AuteurMessages
-
12 août 2020 à 3 h 49 min #75694
M Sadoulet
ParticipantBonjour,
Je souhaite mener une analyse sur une base de données contenant des fichiers générés chaque semaine.
Mon soucis est de la métholodie de ces fichiers à changer et notamment que sur les derniéres, j’ai des colonnes supplémentaires.Je souhaite combiner le tout.
J’ai tenter de faire une intégration en chargeant un dossier complet mais les données restent à la même colonne ce qui fait qu’un décalage s’opére. (en revanche je peux en amont via un Transformer fichier, mettre en forme chaque fichier de données de la même maniére, comme supprimer les premieres lignes pour trouver la ligne d’entête)
L’autre solution que j’envisage mais plus lourde est de charger chaque fichier puis ensuite d’ajouter les requêtes et la Power Query décalage bien les données pour les garder dans les même colonne. Mais, je perd une information essentiellement qui est le nom de chaque fichier source que je veux mettre dans une colonne (possible par l’intégration par dossier).
A titre d’exemple; voici un fichier exel avec 3 onglets : 2 onglets de source (2 fichiers différentes) et un onglet avec le résultat souhaité.
Enfin et ce n’est pas dans l’exemple, si j’ai un fichier avec une colonne nommé “Commentaires” et l’autre renommé ‘Commentaire autre” comment puis-je par une fonction renommé le nom (dans le cas ou l’importation se fait par dossier, un genre de si le nom est “Commentaires” alors le remplacer par “Commentaire autre”). Le but étant de normer les colonnes avant fusion de tous les fichiers sans devoir le faire en amont manuellement dans chaque fichier
Cordialement,
Attachments:
You must be logged in to view attached files.12 août 2020 à 8 h 01 min #75696Kim Leblanc
ParticipantBonjour,
Une solution simple serait de mettre tous les anciens fichiers qui ont la même structure dans un répertoire, puis les nouveaux fichiers dans un autre répertoire. De charger les deux répertoires en 2 requêtes distinctes puis de les mettre bout à bout par la suite.
Pour ce qui est du titre qui change pour une même colonne, vous pourriez descendre les en-têtes sur la première ligne, ajouter une colonne conditionnelle: si le nom est « Commentaires » alors le remplacer par « Commentaire autre ». Puis de remettre la 1ere ligne en en-tête.
Kim
12 août 2020 à 8 h 05 min #75697M Sadoulet
ParticipantC’est effectivement une option à laquelle j’ai pensé par la suite sachant en effet que je n’ai sans doute pas eu d’évolutions sur chaque fichier. Cela va juste m’imposer de savoir quand il y a eu des évolutions.
Pour le second point je n’y avais pas pensé mais c’est en effet une trés bonne option.
Merci
12 août 2020 à 9 h 45 min #75727Stéphane Lorin
ParticipantBonjour
Pour changer le nom d’une colonne il existe une fonction dédiée : Table.RenameColumns
let
Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
Changement_nom_colonne = Table.RenameColumns(
Source,
{“Commentaires”, “Commentaires autre”},
MissingField.Ignore
)
in
Changement_nom_colonneSi j’ai une table nommée “Tableau1” avec un champ “Commentaires” celui-ci est renommé en “Commentaires autre”.
Si le champ n’existe pas, la fonction n’a pas d’impact grâce à l’argument MissingField.IgnoreStéphane
12 août 2020 à 14 h 52 min #75839Kim Leblanc
ParticipantMerci Stéphane pour cette option, intéressant le MissingField.Ignore!
Kim
13 août 2020 à 3 h 42 min #75855M Sadoulet
ParticipantOui cette option est très intéressante car elle ne renvoie pas de message d’erreur et permet en plus de s’affranchir du fait que la colonne “Commentaires” ne soient pas toujours dans la même position
Merci
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.