JSL seleziona le righe con una determinata stringa e crea un sottoinsiemeCiao a tutti,
Voglio selezionare alcune righe che hanno una stringa terminata con "452" nella colonna "Sample_ID" e creare un sottoinsieme contenente queste righe. Provo a fare come sotto ma non ha funzionato
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
Miscelazione e pulizia dei datiRe: JSL seleziona le righe con una determinata stringa e crea un sottoinsiemeEcco un esempio funzionante
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 seleziona le righe con una determinata stringa e crea un sottoinsiemela tabella dei dati "concat data table" ha questo aspetto.

la tabella è già aperta dopo la concatenazione
Re: JSL seleziona le righe con una determinata stringa e crea un sottoinsiemeSembra non essere in grado di trovare la tabella dati chiamata "tabella dati concat".
Assicurarsi che la tabella sia stata creata prima di specificare la funzione della tabella dati.
Sarebbe anche utile se fornissi esempi delle tue tabelle di dati di input.
Re: JSL seleziona le righe con una determinata stringa e crea un sottoinsiemeL'ho provato ma non ha funzionato. Ho ricevuto questo messaggio nel registro:

Re: JSL seleziona le righe con una determinata stringa e crea un sottoinsiemeProva questo per la tua selezione di righe
Row( concat_dt << get rows where( Right( :Sample_ID, 3 ) == "452" ) ),