테이블 함수 - 여러 테이블JMP가 테이블을 할당하고 나중에 사용하는 것 같아요. 두 가지 문제가 있습니다. 2단계와 3단계는 포함하다() 기능.
// 1단계: 서버에서 데이터를 가져와 dt_testdata_ss에 할당
dt_testdata_ss = Open Database( <SERVER string="">, <QUERY string=""> , "dt_testdata_ss" );</QUERY></SERVER>
// 2단계: 조건이 포함된 새 테이블 생성
dt_testdata_ss_tx = dt_testdata_ss
<< select where ( (:col_1 == 24) & (:col_2 == 1))
<< subset( output table name("dt_testdata_ss_tx"));
// 2a단계: graphplot.jsl에서 dt_testdata_ss_tx를 사용합니다.
// 2b단계: distribution.jsl에서 dt_testdata_ss_tx를 사용합니다.
// 3단계: 조건이 포함된 새 테이블 생성
dt_testdata_ss_rx = dt_testdata_ss
<< select where ((:col_1 == 16) & (:col_2== 3 ))
<< subset( output table name( "dt_testdata_ss_rx"));
// 3a단계: graphplot.jsl에서 dt_testdata_ss_rx를 사용합니다.
// 3b단계: distribution.jsl에서 dt_testdata_ss_rx를 사용합니다.
이제 동시에 3개의 테이블이 열려 있는데 귀하가 제공한 스크립트에 대해 올바른 테이블을 호출할 수 없습니다. 그리곤 멀리까지 갔어
dt_testdata_ss
dt_testdata_ss_tx
dt_testdata_ss_rx
스크립트를 실행할 때 변경 사항을 적용하여 실행하면 다음 오류가 발생합니다. dt 에게 dt_testdata_tx 또는 dt_testdata_rx :
오류: 'Close' 액세스 또는 평가 시 잘못된 인수, 닫기 *###*/(dtSum, nosave)
테이블이 실행되지 않기 때문에 dt_testdata_tx 또는 dt_testdata_rx에 dt가 할당되지 않는다고 가정할 수 있습니다. 3개가 모두 열려 있는 경우 특정 테이블을 호출하여 조작하는 방법을 알 수 없습니다. 제안?
미리 감사드립니다
dt = current data table(); // removed this line
dtsum = dt // changed dt to either dt_testdata_ss_tx or dt_testdata_ss_rx
dtFinal = dt // changed dt to either dt_testdata_ss_tx or dt_testdata_ss_rx
자동화 및 스크립팅데이터 접근Re: 테이블 함수 - 여러 테이블이름의 기본값은 here(1)로 모든 변수를 로컬로 만듭니다.모든 변수를 전역 변수로 설정하려면 이 줄을 생략하세요.
그렇지 않으면 전역 변수를 사용하여 전달할 수 있습니다.JSL의 전역 변수는 두 개의 콜론 "::"으로 시작합니다.이것이 전역 변수임을 나타내기 위해 g_를 추가합니다.
::g_dt_testdata_ss_tx = foo bar ...
Re: 테이블 함수 - 여러 테이블잘 작동합니다.. 감사합니다. 실제로 테이블 변경을 허용하지 않는 스크립트에서 약간의 문제를 발견했습니다.
이제 내 문제는 4개의 열린 테이블이 있고 이 테이블이 include() 스크립트에서 개별적으로 사용된다는 것입니다. 새 스크립트에서 데이터 테이블을 선택하는 방법을 알 수 없습니다.. 변수가 새 스크립트로 전달되지 않는 것 같습니다..
테이블 이름이 4개 있는 경우 여기에 이름을 기본값으로 지정합니다(1); 해당 스크립트의 데이터 테이블 변수에만 저장하시겠습니까? 여기에서 Names To Default(0)를 시도해 보았습니다. 전 세계적으로 할당된 줄 알았는데...
어떤 제안이 있으십니까?
감사해요
Re: 테이블 함수 - 여러 테이블테이블/변수가 할당되는 방식이어야 한다고 생각합니다. 가장 큰 문제를 일으키는 것은 간단한 일입니다..
미적분학 문제는 단순한 수학 오류로 인해 무엇이 문제인지.. 설명 정말 감사드립니다..
Re: 테이블 함수 - 여러 테이블당신은 꽤 가깝습니다.subset 명령의 경우 테이블 이름을 지정할 필요가 없습니다.단순히 변수에 할당하는 것만으로도 충분합니다.하지만 하위 집합이 어떻게 작동할지 지정해야 합니다. 선택한 행(1), 선택한 열(0) .
이유가 확실하지 않음 닫기(dtsum, nosave) dtsum = (테이블 변수 중 하나)를 할당한 경우 작동하지 않습니다.
에 관하여 dt = 현재 데이터 테이블() - 세 개의 테이블이 열려 있고 어떤 테이블이 현재인지 명확하지 않을 수 있으므로 이 방법을 사용하지 않습니다.기존 테이블 변수를 사용하는 것이 더 좋습니다.
// Step 1: Pull in data from server and assign it to dt_testdata_ss
dt_testdata_ss = Open Database( <SERVER string="">, <QUERY string=""> , "dt_testdata_ss" );
// Step 2: creates new table with conditions
dt_testdata_ss_tx = dt_testdata_ss << select where ( (:col_1 == 24) & (:col_2 == 1 ))
<< subset( selected rows( 1 ), selected columns( 0 ));
// Step 2a: uses dt_testdata_ss_tx in graphplot.jsl
// Step 2b: uses dt_testdata_ss_tx in distribution.jsl
// Step 3: creates new table with conditions
dt_testdata_ss << clear row states; // Remove prior selec
dt_testdata_ss_rx = dt_testdata_ss << select where ( (:col_1 == 16) & (:col_2 == 3 ))
<< subset( selected rows( 1 ), selected columns( 0 ));
// Step 3a: uses dt_testdata_ss_rx in graphplot.jsl
// Step 3b: uses dt_testdata_ss_rx in distribution.jsl</QUERY></SERVER>
Re: 테이블 함수 - 여러 테이블귀하의 문제를 올바르게 해석하고 있다면 데이터 테이블을 가리키는 변수가 작동하는 방식과 이를 사용하는 방법을 잘 이해하지 못하고 계신 것 같습니다.나는 3개의 서로 다른 데이터 테이블을 생성하는 매우 간단한 스크립트를 구성했습니다.그런 다음 생성된 순서와 다른 순서로 다양한 데이터 테이블 각각에 대한 분석을 생성합니다.이를 달성하기 위해 데이터 테이블 포인터 변수를 사용했습니다.그런 다음 분석을 실행하기 전에 현재 데이터 테이블을 재설정하도록 선택한 경우 동일한 출력 순서를 수행하는 방법을 설명하는 설명 섹션도 포함했습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << select where( :sex == "F" );
dtFemale = dt << subset( selected rows( 1 ), selected columns( 0 ) );
dt << invert row selection;
dtMale = dt << subset( selected rows( 1 ), selected columns( 0 ) );
dtFemale << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);
dtMale << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);
dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);
// Or
/*current data table( dtFemale );
Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);
current data table( dtMale );
Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);
current data table( dt );
Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 )
);*/