JSL selecciona filas con cierta cadena y crea un subconjuntoHola a todos,
Quiero seleccionar ciertas filas que tienen una cadena terminada en "452" en la columna "Sample_ID" y crear un subconjunto que contenga estas filas. Intento hacer lo siguiente pero no funcionó.
Names Default To Here( 1 );
Clear Log();
Clear Symbols();
Close All( Data Tables, NoSave );
Close All( Journals, NoSave );
// pick data table 1
dt1_dir = Pick Directory( "Select directory for data table 1" );
dt1_Name = Pick File( "Select data file 1", dt1_dir, {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 0, 0 );
Show( dt1_Name ); // show dt1_Name string in log
dt1 = Open( dt1_Name ); // reassign dt1 to data table from string dt1_Name
Show( dt1 ); // show data table dt1 in log to check
// pick data table 2
dt2_dir = Pick Directory( "Select directory for data table 2" );
dt2_Name = Pick File( "Select data file 2", dt2_dir, {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 0, 0 );
Show( dt2_Name );
dt2 = Open( dt2_Name );
Show( dt2 );
//concatenate two tables and concat_dt is the output table
concat_dt = dt1 << Concatenate( dt2, Output Table( "concat data table" ), Create Source Column );
Show( concat_dt ); //show concat_dt data table in log
Close( dt1, NoSave );
Close( dt2, NoSave ); //close both dt1 and dt2
//select specific sample_ID from concat_dt and make subset out of it
prep_dt = concat_dt << Subset(
Row( concat_dt << get rows where( Regex( :Sample_ID, "71MT052800452" ) == :Sample_ID ) ),
selected columns only( 0 ),
);
Close( concat_dt ); // close concat_dt
secuencias de comandosRe: JSL selecciona filas con cierta cadena y crea un subconjuntoAquí hay un ejemplo de trabajo
names default to here(1);
// Create the concat data table
concat_dt = New Table( "concat data table",
Add Rows( 4 ),
New Column( "Source Table",
Character,
"Nominal",
Set Values( {"A", "A", "B", "B"} )
),
New Column( "Sample_ID",
Character,
"Nominal",
Set Values(
{"71MT052800452", "71MT052800193", "71MT052800452", "71MT052800120"}
),
Set Display Width( 120 )
),
New Column( "X_loc",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-34005, -32288, -30571, -21986] )
),
New Column( "Y_Loc",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-26500, 26500, -26500, 26500] )
),
New Column( "Z_Loc",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [83.2, -20.3, 14.5, -78.3] )
)
);
// Create the subset data
prep_dt = concat_dt << Subset(
Rows( concat_dt << get rows where( Right( :Sample_ID, 3 ) == "452" ) ),
selected columns only( 0 ),
);
Close( concat_dt ); // close concat_dtRe: JSL selecciona filas con cierta cadena y crea un subconjuntola tabla de datos "tabla de datos de concatenación" se ve así.

la mesa ya está abierta después de concatenar
Re: JSL selecciona filas con cierta cadena y crea un subconjuntoParece que no puede encontrar la tabla de datos llamada "tabla de datos concat".
Asegúrese de que la tabla se haya creado antes de especificar la función de la tabla de datos.
También sería útil si proporcionara ejemplos de sus tablas de datos de entrada.
Re: JSL selecciona filas con cierta cadena y crea un subconjuntoLo intenté pero no funcionó. Recibí este mensaje en el registro:

Re: JSL selecciona filas con cierta cadena y crea un subconjuntoPruebe esto para su selección de fila
Row( concat_dt << get rows where( Right( :Sample_ID, 3 ) == "452" ) ),