데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법이 게시글 토론 (해결됨: JSL을 사용하여 Data Filter()로 선택한 데이터를 새 데이터 테이블로 가져오는 방법 - JMP 사용자 커뮤니티; https://community.jmp.com/t5/Discussions/How-to-get-data-selected-by-Data-Filter-into-a-new-data-table/mp/642343 ) 에서 찾은 코드를 사용하여 데이터 필터를 통해 특정 연령과 성별 조합을 선택하고 원하는 행만 포함하는 "대규모 클래스의 하위 집합"이라는 제목의 하위 집합 테이블을 생성할 수 있습니다. 하지만 데이터 필터에서 선택한 옵션을 사용하여 데이터 파일의 제목을 지정하거나 이름을 변경하고 싶습니다. 예를 들어, 연령 13세, 성별 여성을 선택하면 테이블 이름이 "연령 13세, 성별 여성, 대규모 클래스의 하위 집합" 또는 이와 유사한 이름으로 자동 지정되도록 하고 싶습니다. 하지만 데이터 필터나 스크립트에서 이러한 값을 가져오는 방법을 찾을 수 없습니다.
어떤 함수, 옵션 또는 구문이 적절한지 알려주실 수 있을까요?
결과 데이터 자체에서 해당 값들을 추출할 수도 있겠지만, "원본 데이터"에 해당 값들을 저장하는 방법이 있을 거라고 생각합니다.
JMP 17
감사합니다!
자동화 및 스크립팅제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법원하는 이름이 어떤 모양인지 정확히 모르겠지만, 먼저 데이터 필터에 전달할 수 있는 `<

"Select Where((:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!"))"
그런 다음 추출할 수 있습니다.
(:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!")
그리고 그 이름을 사용하세요
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법Jarmo님, 제안해 주셔서 감사합니다. 다른 스크립트에서는 "Select where" 기능을 사용해 봤습니다. 하지만 데이터 필터는 실행할 때마다 결과가 달라지기 때문에, 제 경우에는 대화형 기능을 사용해야 합니다. 제안해 주신 것처럼 특정 옵션을 하드코딩할 수는 없는데, 제가 혹시 의도를 잘못 이해하고 있는 걸까요?
이름은 원하는 정보만 포함되어 있다면 어떤 형식이라도 괜찮습니다. 나이와 성별을 선택해서 조작 가능한 변수나 객체로 만들 수만 있다면 이름 생성은 신경 쓰지 않습니다.
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법<< "WHERE 절 가져오기"를 사용하면 원하는 형식을 얻을 수 있습니다. 선택적으로 필터에 사용된 열을 기준으로 결과 테이블에서 값을 추출할 수 있습니다(원본 테이블에서 추출할 수도 있지만 결과 테이블에서 추출하는 것이 더 쉽고 빠를 가능성이 높습니다).
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법다음은 데이터 필터 설정에 따라 지정된 테이블의 하위 집합을 생성하는 예입니다. 새 테이블의 이름은 테이블을 생성하는 데 사용된 WHERE 절입니다. 필터에서 선택된 항목이 있는 경우 데이터 필터를 닫을 때 새 테이블이 생성됩니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Select Parameters",
//<
<MODAL></MODAL> theClause = obj << Get Where Clause;
If( theClause != "",
dt << subset(
selected columns( 1 ),
selected rows( 1 ),
output table( Substr( theClause, 14, Length( theClause ) - 15 ) )
)
);
);
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법@txnelson 제 생각엔 떨어뜨리신 것 같아요.
theClause = obj << Get Where Clause;
만약 이전에.
정규 표현식을 사용한 구문 분석 옵션 (모든 경우에 작동할지는 확실하지 않습니다)
tbl_name = Regex(theClause, "Select Where\((.+)\)", "\1")
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법네, 그랬습니다... 원래 입력 내용을 수정했어요.
제목: 데이터 필터 선택 항목을 기반으로 부분 데이터 테이블의 제목을 변경하는 방법정말 감사합니다! 완벽하게 작동하네요. Get Where 절을 제대로 사용하는 방법을 알려주셔서 정말 감사했습니다. Jarmo님이 제안해주신 방법이 맞는 것 같긴 했는데, 직접 해보니 계속 오류가 났었거든요. 모달 모드를 없애고 창 닫기를 처리하는 코드로 감싸니까 오류가 해결되는 걸 보니 이해가 갑니다. 배우는 속도는 느리지만, 그래도 계속 배우고 있어요. 다시 한번 감사드립니다!