안녕하세요,
내가 여기서 뭘 잘못하고 있는지 알아내는 데 도움이 될 수 있습니다.
다음 장난감 데이터 테이블이 있습니다.

다음 스크립트에서 나오는 문자 열 이름 목록을 수정하는 데 문제가 있었습니다.
//get unique column names
cols = Current Data Table() << getColumnNames(Character);
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
unique_col_names = Associative Array(cols) << Remove(Associative Array(DELCOLS)) << get keys;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>
내가 얻는 것은 결과 모달 팝업 창에서 다음과 같습니다.

다음 팝업 창에 다음 항목만 표시하고 싶습니다.

JMP 스크립팅 가이드가 연관 배열 키와 제거, 제거, 위치 및 포함 기능에 대해 설명하고 있지만 제 문제는 연관 배열에 대한 지식의 격차와 관련이 있을 수 있습니다. 의미가있다.
모델 창에서 사용한 결과 목록에 남아 있는 열이 원래 데이터 세트의 사용자가 이름을 바꿀 수 있도록 하여 제거하려는 열 이름이 그대로 유지되도록 하고 싶습니다. 또한 데이터 테이블의 열 배열은 동일하지만 연관 배열은 값을 오름차순으로 재정렬합니다.
이 포럼에 따르면 다음 방법을 이미 사용했으며 JSL 언어를 처음 접하기 때문에 여기에 표시되지 않는 것이 있을 것입니다.
- 목록에서 요소 제거
https://community.jmp.com/t5/Discussions/remove-elements-in-a-list/td-p/50865
- 열 번호에서 열 이름을 가져와 내가 선택한 열을 사용할 목록에 입력합니다.
https://community.jmp.com/t5/Discussions/How-to-get-column-number-from-column-name-JMP/mp/5988
위에서 참조한 스크립트가 포함된 장난감 데이터 세트 파일을 첨부했습니다.
이 문제를 해결하는 방법은 다음과 같습니다.
Names Default To Here( 1 );
//get unique column names
cols = Current Data Table() << getColumnNames( Character, string );
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
For( i = 1, i <= N Items( DELCOLS ), i++,
Try( Remove From( cols, Contains( cols, DELCOLS[i] ) ) )
);
unique_col_names = cols;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>정말 고마워! 그것은 내 프로젝트에서 훌륭하게 작동했고 Try() 함수가 무엇인지도 배웠습니다.