JSL을 통해 테이블 이름을 지정하고 나중에 스크립트에서 참조하는 방법은 무엇입니까?안녕하세요 큰 데이터 테이블에서 작은 데이터 하위 집합을 선택하고 임시 테이블을 만들려고 합니다. 전체 목표는 하위 집합 데이터를 요약하는 것입니다. 아래 스크립트는 하위 집합 데이터 테이블 "Name"을 생성하고 있지만 새 테이블을 처리하기 위해 참조를 반환하지 않습니다. 아래 스크립트에서는 테스트 데이터 테이블의 데이터를 요약하지만 이름 데이터 테이블은 요약하지 않습니다.
도와주세요.
dt=Open("Test.jmp");
Z= NRow();
k=dt<< Get Rows Where(:Para == "THK" );
pt = dt << Subset(
Rows(k),
Output Table Name("Name"),
);
// I want to summarize the data from this subset data table
Close (dt, No Save);
pt = Current Data Table ();
Summarize(
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
show (a,c);
Re: 출력 테이블 이름에 대한 참조첫 번째는 질문이고 두 번째는 진술입니다.
데이터 테이블에 대한 참조를 얻은 다음 이를 재사용하여 메시지를 보내는 데 데이터 테이블로 작업할 때 종종 효율적입니다. 첫 번째 사용법은 해당 참조를 얻기 위해 함수를 호출하고 나중에 참조할 수 있도록 변수에 저장하는 것입니다.
현재 데이터 테이블은 하나가 명시적으로 지정되지 않은 경우 JMP에서 대부분의 작업이 해당 테이블로 기본 설정된다는 점에서 편리합니다. 두 번째 사용법은 테이블 참조를 할당하여 현재 데이터 테이블로 만듭니다. 여러 개의 테이블이 열려 있고 하나의 테이블을 현재 테이블로 전환하려고 한다고 상상해 보십시오.
JSL의 이 조항은 스타일의 문제입니다. 하나의 스타일이 하나의 스타일보다 유리한지 여부도 사용 사례에 따라 다릅니다.
Re: 출력 테이블 이름에 대한 참조
pt = current data table();
현재 데이터 테이블을 가져옵니다
current data table(pk);
현재 데이터 테이블을 설정합니다
Re: 출력 테이블 이름에 대한 참조차이점은 무엇입니까?
pt = current data table();
그리고
current data table(pk);
?
Re: 출력 테이블 이름에 대한 참조뭔가 빠졌을 수도 있지만 원래 질문에서 언급된 문제는 요약 기능에 대한 하위 집합 데이터 테이블을 참조할 수 있어야 하는 것 같습니다.JMP 12에는 요약 함수에 사용할 수 있는 추가 인수가 있습니다.데이터 테이블을 첫 번째 인수로 추가할 수 있습니다.따라서 요약 문을 다음과 같이 변경하기만 하면 됩니다.
Summarize(pt,
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
또 다른 관찰은 다음과 같은 진술을 사용하고 있다는 것입니다.
pt = current data table();
당신이 정말로 하고 싶었던 것은 다음을 사용하여 현재 데이터 테이블을 pk로 설정하는 것입니다.
current data table(pk);
아니면 완전히 잘못된 방향으로 가고 있습니까?
Re: 출력 테이블 이름에 대한 참조'Close()'의 '저장' 옵션을 사용하는 경우 JMP에 파일을 저장할 위치를 알려야 합니다.
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(3);
Close(dt, Save("$DESKTOP/"||(dt << getName)));Re: 출력 테이블 이름에 대한 참조<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />감사해요. 내 원래 문제를 해결하는 것 같습니다. .
실제로 내 원래 스크립트도 작동하는 것 같지만 데이터 테이블 개체를 쉽게 처리할 수 없습니다. 현재 사례(귀하의 스크립트 사용)와 마찬가지로 하위 집합 테이블을 저장할 수 없습니다. 어떤 제안?? 미리 감사드립니다
닫기(dtSub, 저장);
오류가 난다.....
I/O 문제. ReadWrite 모드에서 열 수 없습니다.
시스템이 지정된 파일을 찾을 수 없습니다.
JMP 데이터 테이블 여성에 대한 변경 사항을 저장하시겠습니까?
Re: 출력 테이블 이름에 대한 참조이 경우 '테이블 > 요약'에 해당하는 JSL이 더 나을까요?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
rows2get = dt << getRowsWhere(:sex == "F");
dtSub = dt << Subset(Rows(rows2get), Output Table("Females"));
dtSummary = dtSub << Summary(Mean(:Weight), Group(:age));