GraphBuilder로 전송된 Dispatch() 옵션을 동적으로 변경합니다.스크립트의 옵션에 따라 그래프 빌더로 전송된 일부 옵션을 변경해야 합니다.나는 그것을 작동시키는 방법을 알 수 없습니다.
이 스크립트는 그래프 Scale("Log"), Format("Engineering", 12)을 만드는 데 작동합니다.
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
하지만 다음과 같은 정보를 보내려고 하면 작동하지 않습니다. 제 눈에는 똑같아 보여도 작동하지 않습니다.
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
이에 대한 도움을 주시면 감사하겠습니다!
대량 맞춤화Re: GraphBuilder로 전송된 Dispatch() 옵션을 동적으로 변경합니다.고마워요 마크, 정말 도움이 됐어요. 나는 그래프 빌더에서 필요한 그래프를 작성한 다음 JMP가 생성한 스크립트를 복사한 다음 내 변수로 편집했지만 제대로 작동하지 않았습니다. 귀하의 솔루션은 훌륭하게 작동했으며 구현하려는 다양한 변경 사항에 대한 프로세스를 더 잘 이해하는 데 도움이 되었습니다.Re: GraphBuilder로 전송된 Dispatch() 옵션을 동적으로 변경합니다.두 용어
- 플랫폼 개체: 그래프 빌더의 논리입니다. 그것은 보이지 않습니다.
- 보고서 표면 표시 상자 트리: 그래프 빌더의 출력입니다. 보이는 그래프, 슬라이더, 버튼.
마크가 맞습니다. 디스패치 구문은 인간이 아닌 기계를 위해 만들어졌습니다. Dispatch 메시지에는 플랫폼 개체가 보고서에서 표시 상자를 찾는 데 사용하는 정보가 포함되어 있습니다.꼭 사용해야 한다면, SendToReport 파견은 다음과 같이 보내야 합니다.
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);GB 플랫폼 객체는 <<파견 메시지가 전송됩니다. 보내지 마세요 <<파견 보고서 화면에 메시지를 보냅니다. SendToReport(...) 플랫폼 개체에게 메시지를 보고서 트리로 전달하도록 지시하는 것입니다.
마크는 다음을 사용할 것을 제안합니다.
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
위의 모든 항목에서, GB 그래프 빌더 플랫폼 개체입니다. 마크의 예에서, GB 담당자 그래프 빌더 플랫폼 개체에 속하는 표시 상자 보고서 트리입니다. 보내는 중 <<보고 메시지를 GB 플랫폼 개체는 표시 상자 트리(보고서 표면, 표시되는 부분)의 루트를 검색합니다. 루트를 첨자화하면 표시 상자 트리의 보다 구체적인 하위 트리가 반환됩니다.
gb rep[AxisBox(2)]
Mark가 Format 메시지를 보내려는 대상이 바로 그 사람입니다. 해당 첨자를 얻는 한 가지 방법은 Show Tree Structure를 사용하는 것입니다.
Show Tree Structure: right-click on the open-close triangle.트리 구조 표시: 열기-닫기 삼각형을 마우스 오른쪽 버튼으로 클릭합니다.
보고서와 트리 구조 창이 연결되어 있습니다. 높이 축을 클릭했습니다. 높이 축과 트리 구조의 해당 정보가 모두 강조 표시됩니다. AxisBox(2)는 보고서의 두 번째 축 상자입니다.
Re: GraphBuilder로 전송된 Dispatch() 옵션을 동적으로 변경합니다.추가하려면 @마크_베일리 JMP 플랫폼의 출력에서 다양한 표시 객체에 전달될 수 있는 모든 메시지와 기능은 스크립팅 인덱스에 예제와 함께 설명되어 있습니다..다양한 JMP 플랫폼의 출력은 디스플레이 트리(Display Tree)라는 객체로 채워진 구조에 표시됩니다. 따라서 디스플레이 트리에 대한 스크립팅 가이드의 섹션도 읽어 보시기 바랍니다.JMP 플랫폼의 결과물로 할 수 있는 놀라운 일들의 완전히 새로운 세계가 열릴 것입니다.
Re: GraphBuilder로 전송된 Dispatch() 옵션을 동적으로 변경합니다.여기에서 다른 많은 토론에 대한 답변으로 말했듯이 보고서로 보내기 인수는 스크립트를 저장할 때 JMP에서 사용자 정의 내용을 저장할 수 있도록 개발되었습니다. 그것은 우리를 위해 개발되지 않았습니다. 더 좋은 방법이 있습니다. 형식 메시지를 축 상자에 직접 보냅니다. 이와 같이:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );