목록을 사용하여 특정 값이 있는 행을 선택하는 방법안녕하세요 저는 테이블을 하위 집합으로 만들고 여러 다른 하위 집합을 생성하기 위해 다른 열(다른 테이블에서)의 일치하는 행을 선택하기 위해 열을 채우는 이름 목록을 사용하려고 합니다.
첫 번째 열에서 이름/값을 가져오는 것은 문제가 없지만 루프에 대한 올바른 구문을 찾을 수 없습니다.
dt4 = Current Data Table();
uniqueVals = {"2021_file1_T1", "2021_file1_T2"};
tableList= {};
For(i=1, i< N Items(uniqueVals), i++,
dt4 << select where( As Column("Type") == [i] ) );
dt4 << Select Columns (all);
newdt[i] = dt4 << Subset( Selected columns );
Insert Into(tableList, Data Table(newdt[i]));
dt4 << Clear Column Selection();
dt4 << Clear Select();
);// end of For이 코드가 매우 잘 작동하기 때문에 내 기본 논리는 괜찮다고 생각합니다.
dt4 << select where( As Column("Type") =="2021_file1_T2");
dt4 << Select Columns(all);
dt4 << Subset (Selected columns);그러나 [i]를 "Select Where"에 전달하는 방법을 알 수 없습니다.첨부된 것은 단순화된 테스트 테이블입니다.
힌트/해결책/제안을 주시면 감사하겠습니다.
스크립팅Re: 목록을 사용하여 특정 값을 가진 행을 선택하는 방법안녕 @txnelson , 가깝고도 먼.... 당신의 도움을 주셔서 대단히 감사합니다.
Re: 목록을 사용하여 특정 값을 가진 행을 선택하는 방법당신은 당신이 원하는 것을 성취하는 데 꽤 가까웠습니다.아래는 귀하의 코드를 재작업한 것입니다.tableList 목록은 참조하는 newdt 목록과 중복됩니다.
dt4 = Current Data Table();
uniqueVals = {"2021_file1_T1", "2021_file1_T2"};
//tableList = {};
newdt = {};
For( i = 1, i <= N Items( uniqueVals ), i++,
dt4 << select where( As Column( "Type" ) == uniqueVals[i] );
dt4 << Select Columns( all );
newdt[i] = dt4 << Subset( Selected columns );
//Insert Into( tableList, Data Table( newdt[i] ) );
dt4 << Clear Column Selection();
dt4 << Clear Select();
);