JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법아래에 공유된 정보를 기반으로, "모든 파일 열기" 방법을 사용하여 JMP 저널에 대한 링크를 만드는 것이 가능합니다.
https://community.jmp.com/t5/Statistical-Thinking-for/Saving-Your-Work-in-a-JMP-Journal/ta-p/271841
GUI에서 버튼을 클릭하여 참조된 비디오에서 보여준 방식과 유사한 저널 링크를 만들 수 있는 기능을 구현하고 싶습니다(전체 GUI 인터페이스를 저널로 옮기지 않고 링크만 만듭니다). 저널 링크를 만드는 JSL은 데이터 테이블만 연결할 수 있습니다. 새 창에서 모든 차트에 대한 링크를 어떻게 만들 수 있습니까? 이 문제에 대한 도움을 주시면 감사하겠습니다.
예를 들어, 다음 새 창을 JMP 저널로 전송하여 링크 형태로 표시하려면 어떻게 해야 할까요?
//
이름은 여기(1)에 기본으로 지정됩니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp" );
nw2= 새 창( "새 창",
이변량( y( :체중 ), x( :신장 ) );
);
nw2 << 그룹별 스크립트를 저널에 저장;
고급 통계 모델링자동화 및 스크립팅기본 데이터 분석 및 모델링데이터 접근Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법당신이 원하는 것이 정확히 무엇인지 잘 모르겠지만 이것이 그것일 수도 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
biv = Bivariate( y( :weight ), x( :height ) )
);
biv << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;
PS JSL을 입력할 때 미리보기 창의 상단에 있는 JSL 아이콘을 사용하세요. 코드를 더 쉽게 읽고 이해할 수 있습니다.
Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법
이것이 바로 제가 원하던 결과입니다.
또한, "모든 열린 파일 추가" 방법 외에, 특정 "지정된 이름" 열린 파일만 추가하는 방법이 있습니까? 예를 들어, 저널 목록에 "새 창" 링크만 추가합니다.
Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법질문에 대한 첫 번째 답변에서 스크립팅 인덱스(도움말 풀다운 아래)를 알려드렸어야 했습니다. 스크립팅 인덱스는 모든 열린 파일 추가 메시지와 같이 객체에 전달할 수 있는 메시지를 보여줍니다. 첫 번째 답변에서 메시지가 변수 "ob"에서 참조하는 OutlineBox()로 전송된다는 것을 알 수 있습니다. 스크립팅 가이드에서 OutlineBox를 선택하면 항목을 추가하도록 지정할 수 있는 모든 메시지를 볼 수 있습니다.

Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법문제를 명확하게 설명하지 않은 것 같습니다. 제가 묻고 싶은 것은 "모든 열린 파일 추가"가 현재 열려 있는 모든 JMP 파일을 자동으로 연결된 객체로 보내는지 여부입니다. 그러나 제가 원하는 것은 사용자가 모든 파일을 추가하고 "파일 참조 추가"를 사용하여 저장된 파일을 추가하지 않고 이러한 열린 창에서 원하는 파일만 선택할 수 있도록 하는 것입니다. 다음 이미지에서 볼 수 있듯이 사용자가 추가하려는 "열려 있는 파일"을 선택할 수 있도록 하려고 합니다.

Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법제 이전 답변은 분명하지 않은 듯합니다. 제가 yo9에게 스크립팅 인덱스와 Outline Box에 전달할 수 있는 다양한 메시지를 알려드린 것은 여러분이 가지고 있는 특정 요구 사항을 해결하기 위해 JSL을 작성하는 방법을 알아낼 수 있는 좋은 출처를 알려드리기 위한 것입니다.
Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법답변 감사합니다. 무슨 말씀인지 알겠습니다. 저장하려는 항목을 녹음을 위해 개요 상자로 보내야 한다고 말씀하시는군요. 하지만 현재 "ob << 모든 열린 파일 추가"를 사용하면 모든 열린 파일을 한 번에 보낼 수 있다는 것만 알고 있습니다. 특정 열린 파일을 개요 상자로 보내는 방법을 모르겠습니다. 힌트를 좀 주실 수 있나요?
또한, 추가 질문이 있습니다. "ob << 모든 열린 파일 추가"를 사용하고 저널에 링크가 나타나면 버튼의 기능이 사라지는 것 같습니다. 예를 들어, 아래에 표시된 JSL에는 처음에는 버튼이 있었지만 저널에서 링크를 클릭한 후에는 사라진 것 같습니다. 버튼의 기능이 계속 존재하도록 하려면 어떻게 해야 합니까?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
outputGButton = Button Box( "Test", print("test");
),
biv = Bivariate( y( :weight ), x( :height ) )
);
nw2 << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법최신 응답의 JSL은 "nw2"라는 변수가 있는 Window Object 디스플레이 상자를 생성하여 해당 디스플레이 상자를 참조할 수 있도록 합니다. Window Object의 기본 동작은 새 디스플레이 창을 만드는 것입니다.
nw2 = New Window( "New window",
Window 객체 내부에 "Test"라는 이름과 "Print("test")"라는 스크립트를 갖는 버튼 상자 표시 상자가 있고, 버튼 상자를 참조하는 데 사용되는 "OutputGButton"이라는 변수가 있습니다.
outputGButton = Button Box( "Test", print("test");
)
Window Object 내의 다음 객체는 Bivariate Platform을 실행하는 JSL로, Bivariate Platform 객체를 참조하는 데 사용되는 "biv"라는 변수가 있습니다. Bivariate Platform의 기본 동작은 Bivariate 분석을 실행하고 출력을 새 창에 표시하거나 이 경우 nw2 window 객체 내에 출력을 표시하는 것입니다. 2개의 요소가 Bivariate Platform에 전달됩니다. 열 가중치는 Y 요소에 전달되고 열 높이는 X 요소에 전달됩니다.
biv = Bivariate( y( :weight ), x( :height ) )
JSL의 이 지점에서 nw2 창 객체의 정의는 ")"를 닫음으로써 완료됩니다.
스크립트 내의 다음 줄이 nw2 창 객체나 nw2 창 객체 내의 객체 중 하나와 어떻게 상호 작용하는지 보여주기 위해 이 수준의 세부 정보를 다루고 있습니다.
정의된 각 객체에는 전달할 수 있는 메시지가 있습니다. 다른 유형의 객체에는 전달할 수 있는 다른 메시지 목록이 있습니다. nw2 창 객체에는 "창 제목 설정", "창을 앞으로 가져오기", "창 닫기" 등과 같은 메시지가 있습니다. 창 객체에 보낼 수 있는 메시지의 전체 목록은 스크립팅 인덱스에 나와 있습니다.

현재 스크립트에서
nw2 << Save ByGroup Script to Journal;
nw2 창 객체에 "Save ByGroup Script to Journal" 메시지가 전달됩니다. 그러나 해당 메시지는 창 객체에서 사용할 수 있는 메시지가 아닙니다.
그룹별 스크립트를 저널에 저장은 JMP 플랫폼에서 사용할 수 있는 메시지입니다.
이 메시지가 전달될 수 있는 스크립트의 유일한 객체는 biv 변수가 참조하는 Bivariate 플랫폼입니다.
biv << Save ByGroup Script to Journal;
하지만 이런 방식으로 사용할 경우 저널에 전달되는 스크립트에는 Bivariate를 실행하는 JSL만 포함되고, 버튼 상자와 Bivariate 플랫폼이 있는 창 객체를 만드는 전체 JSL을 실행하는 스크립트는 포함되지 않습니다.
따라서 해야 할 일은 nw2 창 객체의 정의에 현재 있는 모든 JSL을 포함하는 버튼 상자를 저널에 넣는 JSL을 작성하는 것입니다.
기본적으로 Save ByGroup Script to Journal이 하는 일은 지정된 스크립트가 있는 버튼 상자를 만드는 것입니다. 버튼 상자에 주어진 기능과 다른 것이 있어야 하는 것이 요구 사항인 경우, 변경 사항을 적용하기 위한 코드를 작성하는 것은 사용자에게 달려 있습니다. 아래는 Save ByGroup...과 동일한 작업을 수행하는 스크립트이지만 Bivariate의 출력 전에 지정된 버튼 상자를 추가합니다.
Names Default To Here( 1 );
//dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
file = pick file();
dt = open(file);
biv = dt << Bivariate( y( :weight ), x( :height ), invisible );
theScript = Char( biv << get script );
biv << close window;
Eval(
Parse(
"New Window( \!"My Journal\!",
<<JOURNAL></JOURNAL>
<P>또한 모든 열려 있는 파일 추가에 Menu(1) 추가 기능을 사용하여 사용자가 추가할 파일을 선택할 수 있도록 합니다.</P>Re: JSL을 사용하여 "JMP 저널에 작업 저장"을 구현하는 방법여기서는 많은 경우보다 덜 명확하지만 Jim이 암시했듯이 스크립팅 인덱스가 해결책을 제공합니다. << 모든 열린 파일 추가에는 개요 상자에서 링크하려는 파일을 선택할 수 있는 선택적 인수가 있습니다.

ob << Add All Open Files( Menu( 1 ) );
