JSL은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다.안녕 모두,
"Sample_ID" 열에서 문자열이 "452"로 끝나는 특정 행을 선택하고 이러한 행을 포함하는 하위 집합을 만들고 싶습니다. 아래와 같이 해봤는데 안되더라구요
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
데이터 혼합 및 정리Re: JSL은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다.다음은 작업 예입니다.
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은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다.데이터 테이블 "concat data table"은 다음과 같습니다.

연결 후 테이블이 이미 열려 있습니다.
Re: JSL은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다."concat data table"이라는 데이터 테이블을 찾을 수 없는 것 같습니다.
데이터 테이블 기능을 지정하기 전에 테이블이 생성되었는지 확인하십시오.
입력 데이터 테이블의 예를 제공한 경우에도 유용합니다.
Re: JSL은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다.나는 그것을 시도했지만 작동하지 않았다. 로그에 다음 메시지가 있습니다.

Re: JSL은 특정 문자열이 있는 행을 선택하고 하위 집합을 만듭니다.행 선택을 위해 이것을 시도하십시오
Row( concat_dt << get rows where( Right( :Sample_ID, 3 ) == "452" ) ),