Buscar y reemplazar para nombres de columnaGuardar la salida del informe en una tabla de datos a menudo crea nombres de columna largos que se vuelven engorrosos en los análisis posteriores. Este es un pequeño script estúpido para reemplazar/eliminar texto de los nombres de las columnas seleccionadas.
Uso: seleccione las columnas que desea modificar, ejecute el script, ingrese el texto que debe cambiarse (incluidos los espacios) y luego ingrese el texto para cambiarlo (nuevamente, incluidos los espacios, déjelo en blanco para reemplazarlo con nada).
Obviamente, si no hay tablas de datos abiertas, el script no hace nada. Si no hay columnas seleccionadas, es decir, no hay columnas identificadas que necesiten cambios, la secuencia de comandos actualmente no hace nada, aunque se podría agregar un aviso para seleccionar columnas.
Actualización: el nombre de la primera columna seleccionada se incluye en el cuadro de texto para que sea más fácil indicar el texto a encontrar
Un pequeño script estúpido para reemplazar/eliminar texto de los nombres de las columnas seleccionadas. Seleccione columnas para cambiar, ejecute el script, siga las indicaciones.
UtilidadesRe: Buscar y reemplazar para nombres de columnaHere 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: Buscar y reemplazar para nombres de columnasPuede tomar un poco antes de que se publique la actualización.
Re: Buscar y reemplazar para nombres de columnasPerdón por tardar tanto en responder, olvidé que publiqué esto aquí. Sí, se puede arreglar. - HECHO
Re: Buscar y reemplazar para nombres de columnasGracias por compartir.
Pero este gran complemento no se puede usar en JMP16.
Muestra un mensaje de error: referencia de objeto eliminado: cuadro de edición <
¿Hay alguna solución para ello?
Re: Buscar y reemplazar para nombres de columnasHecho.
Re: Buscar y reemplazar para nombres de columnagracias por publicar... ¿es una forma de hacer de esto un complemento?