Rechercher et remplacer les noms de colonnesL'enregistrement du résultat du rapport dans une table de données crée souvent des noms de colonnes longs qui deviennent fastidieux lors des analyses ultérieures. Il s'agit d'un petit script stupide pour remplacer/supprimer du texte dans les noms des colonnes sélectionnées.
Utilisation : sélectionnez les colonnes que vous souhaitez modifier, exécutez le script, saisissez le texte qui doit être modifié (y compris les espaces), puis saisissez le texte pour le modifier (en incluant à nouveau les espaces, laissez vide pour le remplacer par rien).
Évidemment, s'il n'y a pas de tables de données ouvertes, le script ne fait rien. Si aucune colonne n'est sélectionnée, c'est-à-dire qu'aucune colonne n'est identifiée comme nécessitant une modification, le script ne fait actuellement rien, bien qu'une invite pour sélectionner des colonnes puisse être ajoutée.
Mise à jour : Le nom de la première colonne sélectionnée est inclus dans la zone de texte pour faciliter l'indication du texte à trouver
Un petit script stupide pour remplacer/supprimer le texte des noms des colonnes sélectionnées. Sélectionnez les colonnes à modifier, exécutez le script, suivez les invites.
UtilitairesRe : Rechercher et remplacer les noms de colonnesHere is the updated script (the only change was to add << Return Result, so the Text Box would return what was entered (not sure why it worked before):
//!
// Initialize
Names Default to Here( 1 );
Clear Log();
dt = Current Data Table( );
// Stop the script if no open data tables
If( Is Empty( dt ), Stop());
cols = dt << Get Selected Columns( );
// Stop the script if no columns selected
If( N Items( cols ) == 0, Stop());
// Prompt user for text to remove
eBox1 = New Window(
"Find",
<< Modal,
<< Return Result,
Text Box(
"What text should be removed from the column names
(including spaces, i.e. delete the text you want to keep)?",
Justify Text ("Center"),
Set Width(500)
),
Spacer Box( Size( 12.5, 12.5 ) ),
editBox = Text Edit Box(cols[1] << Get Name()),
editBox << Set Width(500),
Spacer Box( Size( 12.5, 12.5 ) ),
H List Box( Button Box( "OK",
remove this = editBox << Get Text;
// Stop the script if the user doesn't enter any text
If( remove this == "", Stop())
),
Button Box( "Cancel" ),
<< Horizontal Alignment( "Center" )
)
);
// Stop the script if the user hits the cancel button
If( eBox1["Button"] == -1, Print("Canceled"); Stop());
// Prompt user for text to replace
eBox2 = New Window(
"Replace With",
<< Modal,
<< Return Result,
Text Box(
"What should the text be replaced with
(including spaces, or leave blank)?",
Justify Text ("Center"),
Set Width(300)
),
Spacer Box( Size( 12.5, 12.5 ) ),
editBox2 = Text Edit Box(),
editBox2 << Set Width(300),
Spacer Box( Size( 12.5, 12.5 ) ),
H List Box( Button Box( "OK",
replace with = editBox2 << Get Text
),
Button Box( "Cancel" ),
<< Horizontal Alignment( "Center" )
)
);
// Stop the script if the user hits the cancel button
If( eBox2["Button"] == -1, Print("Cancled"); Stop());
// Loop through the columns adding the tag to the end of the existing name
For( i = 1, i <= N Items( cols ), i++,
cols[ i ] << set name( munger(cols[ i ] << get name, 1, remove this, replace with))
); // Next column
// EndRe : Rechercher et remplacer les noms de colonnesCela peut prendre un peu avant que la mise à jour soit publiée.
Re : Rechercher et remplacer les noms de colonnesDésolé, j'ai mis si longtemps à répondre, j'avais oublié que j'avais posté ceci ici. Oui, cela peut être réparé. - FAIT
Re : Rechercher et remplacer les noms de colonnesMerci pour votre partage.
Mais cet excellent complément ne peut pas être utilisé sur JMP16.
Il affiche un message d'erreur : référence d'objet supprimé : editbox << get next lors de l'accès ou de l'évaluation de 'Glue'
Y a-t-il une solution pour cela ?
Re : Rechercher et remplacer les noms de colonnesFait.
Re : Rechercher et remplacer les noms de colonnesmerci d'avoir posté... est-ce un moyen d'en faire un complément ?