(JMP 테이블의) 셀을 스크립트에 연결하시겠습니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕,
첫 번째 열에 테스트 이름이 있는 테이블(분석된 데이터)을 생성하는 JMP 스크립트가 있습니다.
각 테스트 이름을 일련의 그래프를 생성하는 스크립트에 연결할 수 있는지 궁금합니다.
그것이 가능한지 아는 사람이 있습니까?
감사,
올리비아
Re: JMP 테이블의 셀을 스크립트에 연결합니까?이 아이디어를 구현하는 것이 정말 즐거웠습니다.내 스크립트가 선택되는 여러 행을 처리할 수 있는 경우(일부 결합된 플롯의 경우와 같이) 스크립트를 실행하기 전에 모든 행이 선택될 때까지 기다리는 방법(예: cntrl 키를 누르고 있을 때)이 있습니까?
예를 들어, 행 1,3,5를 선택하려면... 현재 스크립트를 즉시 실행하는 행 1을 선택하고 스크립트에서 생성된 창을 닫고 행 3을 선택해야 합니다(cntrl 키를 누른 상태에서 ), 즉시 스크립트를 실행한 다음 스크립트에서 생성된 창을 닫고(1과 3이 결합된) 행 5를 선택합니다(cntrl 키를 누른 상태로)... 마지막으로 결합된 1, 3, 5. 1, 3, 5를 선택하고 스크립트를 실행하는 것이 가능합니까?
Re: JMP 테이블의 셀을 스크립트에 연결합니까?감사합니다. 정말 도움이 되었습니다! 나는 마침내 그것을 작동시키는 데 성공했다
Re: JMP 테이블의 셀을 스크립트에 연결합니까?아래 스크립트는 행에서 그래프를 만드는 스크립트가 있는 수식 열이 있는 테이블용입니다.
행이 선택되면 선택한 행에 대한 여러 열의 내용이 하위 집합 테이블로 만들어지고 이 테이블은 오버레이 플롯으로 그래프로 표시될 수 있도록 전치됩니다. 수식 열에 있는 원본 스크립트는 훨씬 다르게 보이기 시작하며 테이블 스크립트 아래에 포함됩니다.
(테이블 스크립트를 스크립트 창에 복사하고 스크립트를 실행)
새 테이블( "결과 테이블",
행 추가( 5 ),
새 열( "분석",
성격,
명사 같은,
값 설정( {"ANOVA", "Apple", "Bannana", "Orange", "Peach"} )
),
새 열( "결과 1",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 2",
숫자,
마디 없는,
형식( "", 9 ),
공식( Random Uniform() )
),
새 열( "결과 3",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 4",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() ),
선택 항목 설정
),
새 열( "결과 5",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 6",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 7",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 8",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
새 열( "결과 9",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( Random Uniform() )
),
New Column( "그래프를 만드는 수식이 있는 열",
숫자,
마디 없는,
형식( "최상", 12 ),
공식(
If( Selected( 행 상태() ),
평가(
구문 분석(
이름 기본값은 여기( 1 );
지우기 기호( 1 );
dt0 = 현재 데이터 테이블();
rn = dt0 << 선택한 행 가져오기;
tn = dt0:분석[rn];
dt1 = 데이터 테이블( "결과 테이블") <<
부분집합(
출력 테이블( tn[1] ),
선택한 열( 0 ),
선택된 행( 0 ),
행( rn )
);
dt2 = dt1 << 열(
:결과 1,
:결과 2,
:결과 3,
:결과 4,
:결과 5,
:결과 6,
:결과 7,
:결과 8,
:결과 9
)`;
그래프1 = Expr(
dt2 << 오버레이 플롯(
Y( 열( 2 ) ),
개별 축( 1 ),
누락을 통해 연결( 1 )
)
);
journgraph1 = Eval( graph1 ) << 저널 가져오기;
새 창( "에 대한 보고서 창" || tn[1],
텍스트 상자( "그래프" || tn[1] ),
저널박스( journgraph1 )
);
닫기( dt1, 저장 안 함 );
닫기( dt2, 저장 안 함);
)
)
)
)
),
행 상태 설정( [0, 0, 0, 0, 1] )
)
수식 열에 붙여넣는 스크립트입니다.
( 1 ) ;
() ;
( 선택된 ( 행 상태 () )
(
(
( 1 ) ;
( 1 ) ;
= 현재 데이터 테이블 () ;
= dt0 << 선택한 행 가져오기 ;
= dt0 : 분석 [ 르네 ] ;
= 데이터 테이블 ( "결과표" ) << 부분집합 (
1 ] ) ,
0 ) ,
0 ) ,
//,보이지 않는
;
= dt1 << 바꾸어 놓다 (
: 결과 1 ,
: 결과 2 ,
: 결과 3 ,
: 결과 4 ,
: 결과 5 ,
: 결과 6 ,
: 결과 7 ,
: 결과 8 ,
: 결과 9 ,
: 11열
,
: 분석 [ 르네 ] ) , // 이것은 공식에서 번역되지 않습니다.
1 ] || "그래프용" ) //,보이지 않는
;
= 특급 ( dt2 << 오버레이 플롯 ( 와이 ( 열 ( 2 ) ) , 별도의 축 ( 1 ) , 누락을 통해 연결 ( 1 ) )) ;
= 평가 ( 그래프1 ) << 저널 가져오기 ;
( "에 대한 보고서 창" || 텐 [ 1 ] , 텍스트 상자 ( "의 그래프" || 텐 [ 1 ]) , 저널 박스 ( 저널1 )) ;
( dt1 , 저장 없음 ) ;
( dt2 , 저장 없음 ) ;
//분석 종료
//평가 종료
; // if의 끝
Re: JMP 테이블의 셀을 스크립트에 연결합니까?감사
이 모든 것을 내 스크립트에 추가하는 데 문제가 있습니다.
내가하려고 한 것은 테이블을 가져온 다음 열에 추가하는 것입니다.
" 선택된 ( 행 상태 ( 열 ())) , 이름 =: 테스트 이름 [( 현재 데이터 테이블 () << 선택한 행 가져오기 )[ 1 ]] ;
포함 ( "C:/사용자/..../테스트/" || 평가 ( 구문 분석 ( : 테스트 이름 )) || ".jsl" ) ; 1 , 0 ) ;"
여기서 "Tests"는 두 번째 스크립트 폴더입니다(사용자가 테이블의 행을 클릭할 때 사용되는 폴더).
내 첫 번째 문제는 인용 부호가 문제를 일으키기 때문에 이 작업을 수행할 방법을 찾을 수 없다는 것이고, 두 번째 문제는 내가 여기서 하고 있는 작업이 모두 나와 함께 일하는 다른 사람들에게 필요한 도구의 일부라는 것입니다. 사용할 수 있습니다. 이제 파일 경로를 통해 액세스되는 두 번째 스크립트가 있는 것을 볼 수 있습니까(스크립트는 내 데스크탑에 있음)?
다시 한번, 당신의 도움에 감사드립니다
올리비아
Re: JMP 테이블의 셀을 스크립트에 연결합니까?먼저 경로 문자열을 확인하십시오. 첫 번째 인수는 스크립트 디렉토리에 대한 경로만 포함해야 하므로 /(슬래시)로 끝나야 합니다.
선택한 TestName을 변수에 전달하려면 더 명시적이어야 합니다.
이름 =: 테스트 이름 [( 현재 데이터 테이블 () << 선택한 행 가져오기 )[ 1 ]]
이 코드는 열 수식(아래 예 참조) 또는 호출된 스크립트에서 실행할 수 있습니다.
만약에 ( 선택된 ( 행 상태 ( 열 ())) , 이름 =: 테스트 이름 [( 현재 데이터 테이블 () << 선택한 행 가져오기 )[ 1 ]] ; 포함 ( "C:/사용자/..../your_script_folder/" || 평가 ( 구문 분석 ( : 테스트 이름 )) || ".jsl" ) ; 1 , 0 ) ;
Re: JMP 테이블의 셀을 스크립트에 연결합니까?
네, 그게 바로 제가 하고 싶은 일입니다.
내가 겪고 있는 문제는 테스트 이름을 JMP 스크립트로 다시 가져와서 내 기능이 작업을 수행할 수 있도록 R로 보낼 수 있다는 것입니다...
나는 이것을 시도했다 :
내 테이블의 추가 열에서:
If(Selected(행 상태(Row())), Include("C:/Users/....jsl" || Eval(Parse(:TestName)) || ".jsl"); 1, 0)
그런 다음 스크립트 페이지에서:
tname = TestName << 텍스트 가져오기;
rconn << Send(tname,R Name("tname"));
분명히 작동하지 않기 때문에 내가 뭔가를 잘못하고 있습니다 ...
Re: JMP 테이블의 셀을 스크립트에 연결합니까?테이블에서 행을 선택하여 스크립트 작업을 트리거하려는 경우 다음을 살펴보는 것이 좋습니다. 이 데모 JMP 파일 교환에서. jsl이 할 수 있는 모든 유형의 작업은 해당 데모에서 Ian Cox가 사용하는 트릭을 사용하여 행을 선택하여 호출할 수 있습니다.
그의 예에서 스크립트는 실제로 테이블 셀 내의 문자열이지만 테이블 스크립트를 호출하는 것이 가능해야 하거나 Include() 함수를 사용하여 독립 실행형 스크립트를 호출하지 않는 이유는 무엇입니까?
예를 들어 숨겨진 열에서 아래 열 수식을 시도하여 문자 열 "testname"의 셀 내용과 정확히 같은 이름의 스크립트를 실행합니다.
만약에 ( 선택된 ( 행 상태 ( 열 ())) , 포함 ( "당신의 길" || 평가 ( : 테스트 이름 ) || ".jsl" ) ; 1 , 0 )
세 번째 행의 testname이 "ANOVA"이면 경로가 "yourpath"인 디렉토리에 저장된 ANOVA.jsl 스크립트가 세 번째 행이 선택될 때 실행됩니다(수동으로 하지만 스크립트로도 추측할 수 있음).