¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy buscando un comando de script JSL para "mantener" solo las variables de columna especificadas y eliminar todas las demás variables en la tabla de datos actual.
Este sería el inverso del comando especificado: dt << Delete Columns( :A, :B, ... :N);
Idealmente, un comando de mantenimiento más eficiente aparecería como:
dt = Tabla de datos actual( );
dt << Conservar columnas ( :hora, :día, :ubicación );
(resultado = Eliminar todas las columnas que no son iguales :hora, :día, :ubicación).
Gracias.
Re: ¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?Se agregó un método más directo a JSL en JMP 14. Seleccionar columnas, invertir la selección de columnas y eliminar columnas puede lograr lo que se necesita.
dt = open("$SAMPLE_DATA\Big Class.jmp");
a = {"height", "weight"};
dt << select columns(a);
dt << invert column selection;
b = dt << get selected columns;
dt << delete columns(b);Re: ¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?Probablemente, una solución más simple que es fácil de hacer manualmente (y escribir fácilmente) es simplemente crear un subconjunto de sus datos.
Seleccione las columnas que desea conservar y luego subconjunto con la opción Columnas seleccionadas (1).Esto también debería ser más rápido que el método descrito anteriormente cuando la tabla de datos aumenta, pero no lo he probado.

Re: ¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?Gracias.Y nuestro guión anterior fue útil.
Modifiqué ligeramente para operar en la tabla de datos actual, por ejemplo, Tabla de datos ("name_here") en comparación con la creación de una nueva tabla de datos y el resultado fue exitoso.
Re: ¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?Hasta que lo agreguen a JSL, puedes probar esto:
Re: Eliminar columnas que no estan en una lista
podría desarrollarse aún más y lo encontré muy útil antes de usar el comando de actualización de tabla.
Antes de actualizar las tablas, es útil eliminar las columnas que tienen el mismo nombre pero que no desea actualizar. Lo siguiente lo hará simplemente definiendo las columnas para mantener.
dt10 = New Table( "Test",
Add Rows( 10 ),
New Column( "A" ),
New Column( "B" ),
New Column( "C" ),
New Column( "D" )
);
Keep = {"A", "C"};
todelete = dt10 << get column names( "string" );
For( in = 1, in <= N Items( Keep ), in++, <BR />// assuming the to keep list is shorter than the list of columns in the table.
location = Contains( todelete, Keep[in]) ; // find the location of the keepers
if (location > 0, Remove From( todelete, location, 1 ) // if found remove it
));
if (nitems (todelete) > 0, dt10 << delete columns( todelete )); <BR />// if there is a delete list delete the columns from the table
si le pide este comando al equipo de desarrollo, pídales que hagan lo mismo para las filas.
mejor
Ron
Re: ¿JSL mantiene el comando para mantener las variables deseadas y eliminar las variables no deseadas?Supongo que está realizando una solicitud de mejora de funciones.Será mejor atendido si envía esto a
support@jmp.com