PQ - Renommer une colonne de manière pérenne

Bonjour,

J'ai construit un PQ avec plusieurs étapes dont je me sers chaque semaine (où des fichiers différents sont générés).

J'ai un souci à une étape, pourtant simple, de renommage.

J'aimerais appeler la première colonne "Nom_Fichier" et ce, quelle que soit la valeur de cette colonne.

Dans l'exemple ci-dessous, ZZZZZ est le nom de la colonne.

Mais ça pourra tout à fait s'appeller YYYY la semaine prochaine

= Table.RenameColumns(#"Texte en minuscules",{{"ZZZZZ", "Nom_Fichier"}})

Comment pourrais-je faire pour que PQ se contente de modifier le nom de la première colonne (tout à gauche), un point c'est tout?

Merci pour votre aide !

Bonjour à tous !

Je vous propose d'utiliser ceci :

= Table.RenameColumns(Source,Table.ToRows(Table.AddColumn(#table(1, {{List.First(Table.ColumnNames(Source))}}), "Per", each "TestNom")))

TestNom étant le nom que portera la 1ère colonne de la requête.

EDIT : Merci de prendre l'habitude de joindre un classeur test à l'appui de votre demande.

Bonjour à toutes et tous,
Une alternative ?
Cdlt.

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    RenameColumn = Table.RenameColumns(Source,{Table.ColumnNames(Source){0}, "Nom_Fichier"})
in
    RenameColumn

Bonjour à tous de nouveau !

Une alternative ?

Bien plus qu'une alternative....

Simplicité, efficacité....

Bonjour.

Merci pour vos réponses.

Il faut que je prépare un fichier anonymisé et simplifié, car je n'arrive pas à faire fonctionner vos propositions.

J'ai le même genre de problème avec une division de colonne (en fonction de "_"), où Power query prend systématiquement le NOM du contenu de la cellule.

18forum-aide.zip (18.28 Ko)

Je vous ai envoyé une version simplifiée de ma problématique dans le post au dessus, si vous avez le temps de regarder j'en serai ravi.

Ci-dessous quelques explications.

image

Un grand merci !

Bonsoir à tous de nouveau !

Sur la base de la préconisation de Jean-Eric, la ligne de code à modifier :

= Table.RenameColumns(#"En-têtes promus",{{Table.ColumnNames(#"En-têtes promus"){0}, "Nom_Fichier"}})

Bonjour à tous de nouveau !

Je n'avais pas remarqué la suite de votre besoin.....

Pour en tenir compte, je vous propose de remplacer, via l'éditeur avancé, la fin de votre code par :

#"En-têtes promus" = Table.PromoteHeaders(#"Premières lignes supprimées", [PromoteAllScalars=true]),
    #"Colonnes renommées" = Table.RenameColumns(#"En-têtes promus",{{Table.ColumnNames(#"En-têtes promus"){0}, "Nom_Entreprise"}}),
    #"Lignes filtrées" = Table.SelectRows(#"Colonnes renommées", each ([STATUS] <>"" and [STATUS] <> "STATUS")),
    #"Texte extrait entre les délimiteurs" = Table.TransformColumns(#"Lignes filtrées", {{"Nom_Entreprise", each Text.BetweenDelimiters(_, "_", "_", 3, 0), type text}})
in
    #"Texte extrait entre les délimiteurs"

Procédure : Effacer toutes les étapes à partir de "En-têtes promus" dans l'ancienne requête et coller le code proposé.

Note : Ma proposition est basée sur une convention de nommage stricte des fichiers intégrés dont le nom est toujours situé entre le 3° et 4° "_"

Merci JFL.

La première solution me règle le problème!

Et sur le PQ anonymisé/simplifié, et également sur ma vraie version.

Je testerai néanmoins la deuxième solution.

Est-ce que tu aurais des conseils de tuto pour apprendre à "coder" ?

Car la formule ci-dessous est d'une efficacité redoutable !

= Table.RenameColumns(#"En-têtes promus",{{Table.ColumnNames(#"En-têtes promus"){0}, "Nom_Fichier"}})

Bonjour à tous !

Est-ce que tu aurais des conseils de tuto pour apprendre à "coder" ?

Il existe une multitude de tutoriels ! Vous cernerez rapidement, en fonction de votre progression, les chaînes à suivre.

Pour ma part, je me nourris, presque systématiquement, des contributions présentées sur les forums.

Et je consulte, sans modération, cette page !

Power Query disposant de 700(+) fonctions (Excel : 400+), cela nous donne grain à moudre.....

Rechercher des sujets similaires à "renommer colonne maniere perenne"