Trova e sostituisci per i nomi delle colonneIl salvataggio dell'output del report in una tabella dati spesso crea nomi di colonne lunghi che diventano scomodi nelle analisi successive. Questo è un piccolo script stupido per sostituire/rimuovere testo dai nomi delle colonne selezionate.
Utilizzo: seleziona le colonne che desideri modificare, esegui lo script, inserisci il testo che deve essere modificato (compresi gli spazi), quindi inserisci il testo in cui modificarlo (di nuovo compresi gli spazi, lascia vuoto per sostituire con nulla).
Ovviamente se non ci sono tabelle dati aperte lo script non fa nulla. Se non ci sono colonne selezionate, ovvero non ci sono colonne identificate come da modificare, lo script attualmente non fa nulla, anche se potrebbe essere aggiunta una richiesta di selezione delle colonne.
Aggiornamento: Il nome della prima colonna selezionata viene incluso nella casella di testo per facilitare l'indicazione del testo da trovare
Uno stupido script per sostituire/rimuovere testo dai nomi delle colonne selezionate. Seleziona le colonne da modificare, esegui lo script, segui le istruzioni.
UtilitàRi: Trova e sostituisci per i nomi delle colonneHere 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
// EndRi: Trova e sostituisci per i nomi delle colonnePotrebbe volerci un po' prima che l'aggiornamento venga pubblicato.
Ri: Trova e sostituisci per i nomi delle colonneMi dispiace che ci sia voluto così tanto tempo per rispondere, avevo dimenticato di averlo pubblicato qui. Sì, può essere risolto. - FATTO
Ri: Trova e sostituisci per i nomi delle colonneGrazie per la tua condivisione
Ma questo fantastico componente aggiuntivo non può essere utilizzato su JMP16.
Mostra un messaggio di errore: riferimento oggetto eliminato: editbox<
C'è qualche soluzione per questo?
Ri: Trova e sostituisci per i nomi delle colonneFatto.
Ri: Trova e sostituisci per i nomi delle colonnegrazie per aver postato... c'è un modo per renderlo un componente aggiuntivo?