Ma Minute M - Renommer les colonnes d'une table ayant un même préfixe en supprimant le préfixe commun
par
, 14/04/2025 à 18h55 (635 Affichages)
Objectif
Modifier le nom des colonnes ayant le même préfixe en supprimant ce préfixe
{"AddCol2.R5", "AddCol2.R6", "AddCol2.R7", "AddCol2.R8"} => "{R5", "R6", "R7", "R8"}
Contexte
Ce billet fait suite au billet précédent Ma Minute M : Création d'1 table par fusion de 2 tables avec colonnes différentes et même clé multicolonnes
Dans ce précédent billet, la modification des colonnes se faisait manuellement. La solution proposée est générique.
Code
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 let Source = Table.NestedJoin(Table1, {"A", "B","C"}, Table2, {"A", "B","C"}, "AddCol2", JoinKind.Inner), #"Expanded AddCol2" = Table.ExpandTableColumn(Source, "AddCol2", {"R5", "R6", "R7", "R8", "id"},{"AddCol2.R5", "AddCol2.R6", "AddCol2.R7", "AddCol2.R8", "id2"}), #"Remove list col" = let listCol = Table.ColumnNames( #"Expanded AddCol2") ,tblColName = Table.FromList(listCol,null) ,tblColNameSelection = Table.SelectRows(tblColName, each Text.StartsWith([Column1], "AddCol2")) ,lstColNameSelection = tblColNameSelection[Column1] ,lstColNameClean = List.ReplaceValue(lstColNameSelection,"AddCol2." , "", Replacer.ReplaceText ) ,lstToRename = List.Zip({lstColNameSelection,lstColNameClean}) ,tblColRenamed = Table.RenameColumns( #"Expanded AddCol2" , lstToRename) in tblColRenamed in #"Remove list col"
Analyse
Pour comprendre List.Zip voir mon billet Ma Minute M - Modification dynamique des valeurs en erreurs par null List.Accumulate vs List.Zip
C'est maintenant Votre Minute M