내 스크립트에서는 다음을 사용하여 문자열 형식의 모든 열 목록을 가져옵니다.
columnNames = dt << Get Column Names( string );
"For Each" 루프를 사용하여 반복할 수 있도록 이 정보가 필요합니다.
For Each( {columnName, index}, columnNames, Column( dt, columnName ) << Set Name( columnName ||"SomethingHere" ) );이제 선택한 열만 가져와서 동일한 루프를 실행하면 됩니다.
선택한 열을 얻는 방법은 한 가지뿐입니다.
columnNames = dt << Get Selected Columns;
그러나 문자열 이름이 아닌 열에 대한 참조를 반환합니다. 그래서 이것을 실행하면 다음과 같습니다.
For Each( {columnName, index}, columnNames, Column( dt, columnName ) << Set Name( columnName ||"SomethingHere" ) );작동하지 않습니다.
나도 어떻게 해?
1. For Each 루프를 다시 작성하여(For 루프 대신 이 루프를 계속 사용하고 싶습니다) 열에 대한 참조도 허용합니다.
또는
2. 열에 대한 참조를 문자열 목록으로 변환합니다.
?
@miguello , @jthi - JMP 기술 지원팀에서 스크립팅 색인 업데이트를 요청할 것입니다. 공유해 주셔서 감사합니다!
신고하시면 좋을 것 같습니다. 스크립팅 인덱스가 부족할 때 누가 태그를 지정해야 했는지 기억이 나지 않으므로 지금은 태그를 지정하겠습니다. @Jeff_Perkinson 그리고 @Ryan_Gilmore , << 선택한 열 가져오기에 스크립팅 인덱스의 선택적 옵션 매개변수가 누락되었습니다.
선택한 열을 가져오기 위해 (문자열) 추가(스크립팅 인덱스에는 문서화되어 있지 않지만... 도움말에는 "조금 더 많은" 문서가 있음) dt<<선택한 속성 가져오기(<{속성 목록}>) )
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Select Columns({:sex, :height});
sel_colnames = dt << Get Selected Columns(string);
show(sel_colnames); // sel_colnames = {"sex", "height"};
네, 다음 방법으로 해결했습니다.
변경하고 싶지 않은 이미 스크립트된 "For Each" 루프를 실행하기 전에 다음을 실행합니다.
For Each( {columnName, index}, columnNames, columnNames[index] = columnNames[index]<< Get Name );다른 옵션이 있나요?