jmp 보고서의 ButtonBox에 스크립트 추가<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
친애하는 커뮤니티
내 문제는 간단한 문제라고 생각하지만 그래도 도움이 좀 필요할 것 같습니다. 나는 여러 가지 요소가 포함된 응답의 몬테카를로 시뮬레이션을 생성하기 위해 시뮬레이터가 추가된 프로파일러 플랫폼을 사용하고 있습니다.
마이프로파일러 = 프로파일러 (
와이 ( : 응답 )
) ;
마이프로파일러 << 모의 실험 장치 (
요인 (
요인 1 << 무작위의 ( 정상 ()) ,
요인 2 << 무작위의 ( 정상 ())
) ;
보고서 창의 '테이블로 시뮬레이션' 개요 상자 아래의 '테이블 만들기' 버튼에 일부 기능을 추가하고 싶습니다. 스크립트를 추가하면 됩니다. 내가 원하는 것은 'Make Table' 버튼을 통해 생성된 테이블의 이름을 지정하고 이 테이블에 대해 일련의 작업을 수행하는 것입니다.
보고서 ( 마이프로파일러 )[ 버튼박스 ( 2 )] << 스크립트 설정 (
마이심테이블 = 현재 데이터 테이블 () ;
//MySimTable에서 작업 수행
) ;
문제는 ' 현재 데이터 테이블' 명령이 실행됩니다 ~ 전에 버튼을 누를 때의 다른 동작. 이는 현재 테이블이 'Make Table' 버튼을 눌러 생성된 테이블이 아님을 의미합니다. 내 질문은 다음과 같습니다. '빌드인' 버튼 기능을 실행하기 전에 '빌드인' 버튼 기능을 수행할 수 있는 방법이 있습니까? 현재 데이터 테이블 ' 명령? 자동으로 생성된 테이블에 대한 참조를 제공하는 솔루션은 매우 감사하겠습니다.
감사합니다
Re: jmp 보고서의 ButtonBox에 스크립트를 추가합니다.안녕하세요,
내장된 기능이 실행되기 전에 스크립트가 실행되는 것은 의도적인 동작이라는 점을 JMP 개발팀에 확인했습니다.
다음은 원본 버튼을 숨기고 스크립트를 실행하고 원본(숨겨진) 버튼을 클릭한 다음 다른 스크립트를 실행하는 방법을 보여주는 간단한 예입니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );dt << New Column( "heightplusweight", Formula( :height + :weight ) );
// replace the button in Simulate To Tablex = Profiler( y( :heightplusweight ) );x << Simulator( Factors( Factor1 << Random( Normal() ), Factor2 << Random( Normal() ) ));bb2 = Report( x )["Simulate to Table"][Button Box( 1 )];bb2 << Visibility( "Hidden" ); // new for JMP 12bb2 << Sib Prepend( Button Box( "NewButton", setfunction( Function( {this}, // this==replacement button New Window( "Before", < H List Box( Button Box( "OK" ), Button Box( "Cancel" ) ) ); (this << Sib) << Click; // sib==original button because of < New Window( "After", < H List Box( Button Box( "OK" ), Button Box( "Cancel" ) ) ); ) ) ));
이를 모델로 사용하면 이전 버튼을 숨기고 클릭한 다음 새 테이블의 이름을 설정하는 개념을 적용할 수 있습니다.
bb2 << Sib Prepend( Button Box( "NewButton", setfunction( Function( {this}, // this==replacement button (this << Sib) << Click; // sib==original button because of < Data Table(1) << Set Name( "New Table Name" ); ) ) ));
이게 도움이 되길 바란다.
웬디
Re: jmp 보고서의 ButtonBox에 스크립트를 추가합니다.안녕하세요 이안
답장을 보내 주셔서 감사합니다. 나는 이 토론을 지원팀에 보냈고 그들이 무슨 말을 해야 할지 알아보았습니다.
Re: jmp 보고서의 ButtonBox에 스크립트를 추가합니다.안녕 제리
해결 방법에 대해 비슷한 아이디어가있었습니다. 이 솔루션을 구현하는 방법을 보여주셔서 감사합니다. 완벽하게 작동합니다
Re: jmp 보고서의 ButtonBox에 스크립트를 추가합니다.나는 이안의 말에 동의한다. 그러나 더 나은 옵션을 얻을 때까지의 해결 방법으로 Make Table 기능을 가로채는 새 버튼을 추가하는 것을 고려할 수 있습니다.
보고서 ( 마이프로파일러 )[ "테이블로 시뮬레이션" ] << 앞에 추가 (
새버튼 = 버튼 상자 ( "메이크 테이블 플러스" ,
보고서 ( 마이프로파일러 )[ 버튼박스 ( 삼 )] << 딸깍 하는 소리 () ;
마이심테이블 = 현재 데이터 테이블 () ;
)
) ;
새 버튼을 삽입하면 원래 테이블 만들기 버튼에 대한 참조가 2에서 3으로 변경됩니다.
Re: jmp 보고서의 ButtonBox에 스크립트를 추가합니다.아래 스크립트는 귀하가 발견한 동작을 확인하는 것 뿐이라고 생각합니다. 이러한 경우에는 'setScript'처럼 보입니다. 추가하다 (합리적으로 보이는) 미리 정의된 스크립트에 추가하지만 추가하는 것이 아니라 앞에 추가하는 것처럼 보입니다.
이름DefaultTo여기 ( 1 ) ;
// 테스트 테이블
dt = 새 테이블 ( "시뮬레이트" ,
행 추가 ( 5 ) ,
새 열 ( "엑스" ,
숫자 ,
"마디 없는" ,
체재 ( "최상의" , 12 ) ,
값 설정 ( [ 1 , 2 , 삼 , 4 , 5 ] )
) ,
새 열 ( "와이" ,
숫자 ,
"마디 없는" ,
체재 ( "최상의" , 12 ) ,
공식 ( : 엑스 + 랜덤 노멀 ( 0 , 0.1 ) )
)
) ;
// 모델 맞추기
FM = dt << 모델 맞춤 (
와이 ( : 와이 ) ,
효과 ( : 엑스 ) ,
성격 ( "표준 최소제곱" ) ,
중요성 ( "효과 레버리지" ) ,
달리다 (
프로파일러 (
1 ,
신뢰 구간 ( 1 ) ,
기간 값 ( 엑스 ( 삼 , 잠그다 ( 0 ) , 보여주다 ( 1 ) ) ) ,
모의 실험 장치 (
1 ,
요인 ( 엑스 << 무작위의 ( 정상 ( 삼 , 0.8 ) ) ) ,
응답 ( 와이 << 소음 없음 )
)
) ,
: 와이 << { 적합성 부족 ( 0 ) , 실제를 예측으로 플롯 ( 1 ) , 예측을 기준으로 잔차 플롯 ( 1 ) , 플롯 효과 활용 ( 1 )}
)
) ;
// 샘플 스크립트 정의
뭔가를 해라 =
만료 (
삑 하는 소리 () ;
을 위한 ( 나 = 1 , 나 <= 엔테이블 () , 나 ++, 인쇄 ( 나 , 데이터테이블 ( 나 ) << getName )) ;
) ;
// 샘플 스크립트를 버튼에 할당합니다(JMP가 이미 있는 스크립트 앞에 추가되는 것 같나요?)
보고서 ( FM )[ 버튼박스 ( 5 )] << 세트스크립트 ( 뭔가를 해라 ) ;
아마도 이 스레드를 다음으로 보낼 수도 있습니다. support@jmp.com 확실한 답을 얻으려면?