고유한 열 값을 가져와서 다른 테이블에서 필터링/정리하는 데 사용합니다.안녕하세요, 예를 들어 키는 동일하지만 다른 JMP 테이블에 있는 행을 선택하거나 필터링하기 위해 배열의 키를 사용하는 접근 방식은 무엇입니까? 테이블이 두 개 있어요. 그 중 하나는 화학 테스트용 샘플 ID를 다양한 요인 설정(온도, 시간, 연구 번호 등)에 매핑합니다. 배열에서 샘플 ID를 성공적으로 가져왔습니다. (죄송합니다. 저는 이 분야에 완전히 초보자입니다.)
smplID = Associative array(:sampleid) << Get Keys;
이제 이 키를 사용하여 두 번째 테이블(내 응답이 있는 곳)에서 행을 선택하고, 행 선택을 반전하고, 행을 삭제하려고 합니다. 이 참조는 지금까지 나를 아무데도 데려가지 못했습니다. 아마도 아래의 해결책은여기에 설명된 대로시작하는 것이 더 적합합니다.?
Summarize(dt, smpleID = by(:sampleid));
아니면 이 접근 방식이 더 바람직할까요?
dt << Summary (Group ( :sampleid ), Frequ( "None" ), Weight( "None" );
어쨌든, 제가 정말로 알고 싶은 것은 데이터 분석을 더 진행하기 전에 이러한 접근 방식을 사용하여 필요하지 않은 행에 대한 데이터 테이블을 효과적으로 정리할 수 있는 방법입니다. 루프하는 법을 배워야 할 것 같아요.
예, 가능할 때마다 스크립팅 가이드를 읽으려고 노력하고 있습니다. 나는 그것을 우선시 할 수 없습니다.
대량 맞춤화Re: 고유한 열 값을 가져와서 다른 테이블에서 필터링/정리하는 데 사용그게 문제야. 테이블 조작에 매우 주의해야 합니다. 그렇지 않으면 일부 반복 측정을 잘못 배치할 수 있습니다. 따라서 개요를 유지하는 데 도움이 되기 때문에 미리 테이블을 청소하려고 합니다.
Re: 고유한 열 값을 가져와서 다른 테이블에서 필터링/정리하는 데 사용이러한 방법은 해당 행 수에 대해 빠릅니다!
내 마음에 떠오르는 솔루션이 하나 더 있습니다. 먼저 요약 테이블을 만든 다음 찾은 값을 제거하려는 테이블에 조인할 수 있습니다.
JMP Cars.jmp 및 Cars 1993.jmp 샘플 데이터를 예로 사용합니다. Cars 1993은 Model 열을 사용하여 Cars를 필터링할 데이터 중 하나입니다.
1. 모델을 그룹으로 사용하여 Cars 1993에서 요약 테이블 만들기
2. 다음 설정을 사용하여 새 요약 테이블을 Cars 테이블에 조인합니다.

3. 새 일치 플래그 열에서 두 값, 모두 및 기본을 볼 수 있습니다. 둘 다 모델을 두 데이터 세트에서 모두 찾을 수 있음을 의미합니다.
Cars 1993으로 직접 할 수 있다고 생각하지만 중복에 주의해야 합니다(Drop multiples With Table이 문제를 해결할 수 있을지는 확실하지 않음). 또한 이 경우 중복이 있기 때문에 유지하려는 열을 선택하고 싶을 것입니다(적어도 이 예에서는).

JMP가 대부분의 스크립팅을 수행할 수 있으므로 이 두 가지 모두 상당히 쉽게 스크립팅할 수 있습니다.
Re: 고유한 열 값을 가져와서 다른 테이블에서 필터링/정리하는 데 사용감사합니다, 이것은 저에게 많은 도움이 되었습니다! "많은 데이터"가 실제로 무엇을 의미하는지 잘 모르겠습니다. 오늘 내가 여는 첫 번째 테이블에는 약 400개의 행이 포함되어 있지만 이 숫자는 우리 조직에서 LIMS(실험실 정보 관리 시스템)를 지속적으로 구현함에 따라 증가할 것입니다. 시간이 지남에 따라 수천 행, 어쩌면 수만 행이 될 것이라고 생각합니다. 내가 "정리"하는 두 번째 테이블에는 관련 없는 샘플 ID에 이미 50,000개의 행이 있습니다.
현재 귀하의 솔루션을 구현한 후 일련의 샘플 ID로 작업하고 있습니다. (내 기술이 극도로 제한되어 있다고 생각하지만 스크립팅은 여전히 매우 가치 있고 솔루션을 찾을 때 만족스럽고 커뮤니티에서 "찢어진" 경우에도 만족합니다. 다시한번 진심으로 감사드립니다.)
Re: 고유한 열 값을 가져와서 다른 테이블에서 필터링/정리하는 데 사용고유한 값을 얻으려면 모두 유효한 방법이며 속도는 보유한 데이터 양에 따라 다릅니다. 한 가지 주의할 점은 고유한 숫자 값을 사용하고 Summarize를 사용하는 경우 해당 값을 다시 숫자로 변환해야 한다는 것입니다(Summarize는 해당 값을 문자열로 반환함).
고유한 값을 얻는 몇 가지 다른 방법:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
aa_uniq = Associative Array(dt:age) << get keys;
Summarize(dt, summarize_uniq = by(:age));
dt_summary = dt << Summary(Group(:age), Freq("None"), Weight("None"), private);
summary_uniq = Column(dt_summary, 1) << get as matrix;
Close(dt_summary, no save);
Show(aa_uniq, summarize_uniq, summary_uniq);데이터 테이블에서 값을 선택하려면 선택 위치와 함께 포함을 사용할 수 있습니다. 사용할 수 있으므로 행 선택을 반전할 필요가 없습니다. (또는 Not()) 함수에서 얻은 결과를 무효화합니다. 시연을 위해 대기합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
names_of_interest = {"KATIE", "LILLIE", "JOHN"};
wait(2);
dt << Select Where(Contains(names_of_interest, :name)) << Invert Row Selection << Hide and Exclude(1);// << clear select;
//Remove selections
wait(2);
dt << Clear Row States;
wait(2);
dt << Select Where(!Contains(names_of_interest, :name)) << Hide and Exclude(1);// << clear select;또한 데이터가 많은 경우 이 방법이 가장 효율적인 방법은 아닐 수 있지만 가장 간단한 방법이며 먼저 시작하겠습니다.