Dans le cadre d'une exportation de base de données, je reçois un fichier avec des en-têtes que je peux utiliser immédiatement (de l'ID d'expérience à DOE_FILE_ID), mais j'obtiens ensuite des en-têtes "génériques" de C1 à C255

ce que je dois faire est de sélectionner toutes les premières lignes de données qui ont C1 à C255 comme en-têtes et de les remplacer par les informations de la première ligne sélectionnée
donc C1 serait changé en échantillon, C2 serait l'ANCIEN identificateur d'échantillon, etc. Pour chaque table que j'obtiens, ces informations seront différentes, je ne peux donc pas utiliser Rechercher et remplacer pour ce faire. Je ne peux pas modifier la manière dont ces données sont importées à l'aide des préférences car elles proviennent d'une base de données.
Cordialement
David
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je suppose que j'aurais dû mentionner que je supposais que vous vouliez en faire un bouton. script > Bouton > Répétition efficace.
Une autre option consiste à utiliser le Complément utilitaire des noms de colonne .
Sélectionnez les colonnes que vous souhaitez déplacer vers le haut, puis cliquez sur déplacer vers le haut.

Meilleur,
Stan
Si vous êtes d'accord pour le faire de manière interactive, vous pouvez utiliser le copier-coller.
Sélectionnez les cellules de la première ligne contenant les noms de colonne. Sélectionnez ensuite les colonnes dans le panneau des colonnes à gauche et collez-les.
Voir ce billet de blog pour une explication plus complète, avec une vidéo.
-Jeff
Pour commencer,
colNames = dt << get column names;For( i = 1, i <= N Items( colNames ), i++, Column( i ) << set name( Column( i )[1] ));// delete the first rowdt << select rows( 1 );dt << delete rows;
Cela chargera tous les noms de colonne dans colNames , parcourez la liste, puis définissez chaque nom sur son premier élément.
Pour votre cas, j'utiliserais un filtre regex pour boucler sur les noms de colonne, en ajoutant les colonnes commençant par "^C\d" à une liste séparée.
badCols = {};For( i = 1, i <= N Items( colNames ), i++, cname = Column( colNames ) << get name; If( !(Is Missing( Regex( cname, "^C\d" ) )), Insert Into( badCols, colNames ) ););Show( badCols );<CODE><SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt; line-height: 1.5em;">colNames = dt << get column names;</SPAN>Pour renommer ensuite ces colonnes spécifiques, vous pouvez procéder comme suit :
For( i = 1, i <= N Items( badCols ), i++, cname = Column( badCols ) << get name; Column( cname ) << set name( Column( cname )[1] ););
Je travaille toujours sur la sélection des premières cellules des colonnes concernées et la suppression de cette cellule (les noms de colonne), et vous pouvez également supprimer la dernière ligne si elle est vide, mais c'est un bon point de départ. Je mettrai à jour quand j'aurai compris ce dernier morceau, mais vous pouvez me battre.
J'espère que ça aide.