안녕하세요 - for 루프 내에서 여러 개의 개요 상자를 저널로 보내는 JSL 스크립트가 있습니다. 즉, 루프의 각 주기는 새로운 개요 상자를 생성하며, 그 복사본이 생성되자마자 저널에 복사본을 보냅니다. ). 브로드캐스팅 키 조합을 사용하여(예: 키를 누른 채 그중 하나만 열거나 닫는) 저널 내의 개요 상자 결과 세트를 동시에 열거나 닫을 수 있는 방법이 있습니까?
나는 이것을 할 수 있기를 원하는 많은 응용 프로그램을 작성했습니다. 그 중 일부에서는 어쨌든 이 기능을 본의 아니게 통합한 것처럼 보이지만 다른 일부에서는 그렇지 않았습니다. 그러나 스크립트를 작성하는 방식에서 차이점이 어디에 있는지 알 수 없습니다. 모든 경우에 개요 상자에는 요약되는 실제 숫자에만 차이가 있는 동일한 형식의 데이터 요약이 포함됩니다.
어떤 제안이라도 보내주셔서 감사합니다.
두 가지 제안에 대해 많은 감사를 드립니다. 제안된 해결 방법 중 하나를 사용하겠습니다. 둘 다 작업을 수행할 것입니다.언제나 그렇듯이, 제가 방금 놓친 사소한 트릭이 없다는 것을 아는 것이 유용합니다 
안타깝게도 helpKey 값은 JMP에 의존하기 때문에 변경하는 것이 불가능합니다.
그러나 컨트롤 키를 사용하는 대신 OutlineBox 제목과 helpKeys에 의존하여 모든 OutlineBox를 확장/축소하는 버튼을 만들 수 있습니다. 자세한 내용은 아래 예를 참조하세요.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Owl Diet.jmp" );
yList = dt << get column names( string );
Remove From( yList, N Items( yList ) );
nw = New Window( "Example",
Button Box( "Collapse All",
<<SET function=""></SET>
ExpandedExpanded퍼지는
CollapsedCollapsed축소됨
이는 모든 그래프 빌더 출력이 공유하는 공통 HelpKey 때문이어야 합니다. HelpKeys에 대해 내가 찾은 최고의 참고 자료는 다음과 같습니다. 여기 , 아마도 @Justin_Chilton 저널에 무언가를 보낼 때 HelpKey를 설정할 수 있는지, 아니면 저널의 항목에 대해 수정할 수 있는지에 대해 밝힐 수 있습니까? 이것이 가능하지 않은 경우 해결 방법은 각 출력 사이에 텍스트 항목을 삽입하는 것입니다.

그래프 빌더 출력을 개요 상자 아래로 이동하면 '트리 구조 표시'를 사용하여 HelpKey를 볼 수 있습니다.

안녕하세요. 감사합니다. 아웃라인 상자가 모두 동일한 제목을 갖는 경우 브로드캐스트된 열기/닫기 명령을 사용하여 동시에 열고 닫을 수 있음을 확인했습니다. 불행하게도 실제로는 다른 제목이 필요합니다. 일단 모두 닫혀 있으면 구체적으로 어떤 제목을 열고 싶은지 쉽게 알 수 없기 때문입니다.
내가 원하는 방식으로 작동하는 스크립트 중 하나의 예를 찾았지만 이는 for 루프 내에서 Graph Builder 출력의 여러 복사본을 저널로 보내는 상황과 관련이 있습니다. 루프를 실행할 때마다 그래프 빌더가 표시하는 변수를 변경하고 다음 항목을 실행하기 전에 저널에 사본을 보냅니다. 스크립트의 관련 부분은 다음과 같이 작동합니다.
dt = Open( "$SAMPLE_DATA/Owl Diet.JMP" );
yList = dt << get column names(string);
remove from(yList, nItems(yList));
show(yList);
// Create the chart as I want it to look for the first item on the list, and send a copy of it to the journal;
gb = Graph Builder(
Show Control Panel( 0 ),
Size( 600, 250 ),
Show Legend( 0 ),
Variables( X( :species ), Y( as column(column(dt, yList[1])) ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Analysis of " || title case(yList[1]) )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
);
report(gb) << journal();
// Then run all the others in sequence by each time replacing the current Y variable with the next one, and adding them to the journal as we go;
for(i=2, i<=nItems(yList), i++,
gbb = report(gb);
gbb << Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Analysis of " || title case(yList[i]) )} );
gbb[GraphBuilderBox(1)] << remove variable(2);
gbb[GraphBuilderBox(1)] << add variable({as column(column(dt, yList[i])), role("Y")});
gbb << journal()
);
// Finally, close the original chart window;
gb << close window;
브로드캐스팅 명령은 이 경우에 작동합니다. 아마도 모든 차트가 서로 다른 레이블이 지정되었음에도 불구하고 실제로 "Graph Builder"라고 불리기 때문일 것입니다. 그리고 아웃라인 상자를 저널에 보낼 때 재현하고 싶은 것이 바로 이 효과입니다. 아니었다 그래프 빌더를 사용하여 생성되었습니다.
불가능할 수도 있지만 어떤 제안이라도 환영합니다.
많은 감사를 드립니다.
내 경험에 따르면 개요 상자 제목을 일치시키면 Ctrl 키(Windows에서)를 사용하여 모두 열리거나 닫힙니다.하나를 마우스 오른쪽 버튼으로 클릭하고 '이렇게 모두 닫기' 위로 마우스를 가져가면 동일한 도움말 키가 동일한 효과를 갖는다는 것을 나타내는 도구 설명이 표시되지만 저널이나 JSL에서 도움말 키 사용에 대한 참조를 찾지 못했습니다.
