모두,
JSL에서 작동하는 방식에 대한 이해 부족에서 비롯된 문제가 있습니다.
여기 있습니다:
Graph Builder를 통해 일부 그래프를 플로팅하고 여러 탭이 있는 새 창에 그래프를 표시하는 앱이 있습니다.
아니요, 다음을 수행해야 합니다.
- 플롯 그래프 빌더:
GrBld = Graph Builder(
blah-blah-blah
);
- 그런 다음 보고서 참조를 가져와야 합니다.
reportGrBld = GrBld<<Report();
- 그런 다음 나만 탭 창을 조립할 수 있습니다.
tabPlot1 = Tab Page Box("GraphBuilder plot", reportGrBld);
tabPlot2 = Tab Page Box("Something else", someOtherReport);
tabPlot3...
...
tabbedResults = Tab Box(tabPlot1, tabPlot2, tabPlot3, tabPlot4);
New Window("Results", tabbedResults);
한 가지 예외를 제외하고 모두 잘 작동합니다. 플롯이 정적이 됩니다. 따라서 GraphBuilder 또는 다른 그래프 플랫폼의 모든 특전을 사용할 수 없습니다. 즉, 범례에서 항목을 클릭하면 플롯에서 해당 지점이 강조 표시되지 않습니다. 이 보고서가 표 형식인 경우 - 표는 정적이고 내가 스크립팅한 모든 필터가 표시되지 않습니다.
빨간색 삼각형을 클릭하고 "다시 실행 스크립트"를 선택하면 해당 항목이 모두 표시되지만 조합된 탭 창에는 표시되지 않습니다.
이제, 내가 말한다면:
tabPlot1 = Tab Page Box("GraphBuilder plot", GrBld);
tabPlot2 = Tab Page Box("Something else", someOtherReport);
tabPlot3...
...
tabbedResults = Tab Box(tabPlot1, tabPlot2, tabPlot3, tabPlot4);
New Window("Results", tabbedResults);
작동하지 않습니다.
질문 - 모든 결과가 포함된 탭 창을 구성하고 정적 "죽은" 보고서 버전이 아닌 모든 대화형 기능이 있는 라이브 GraphBuilder 또는 기타 플랫폼을 사용하는 방법은 무엇입니까?
나는 추가할 것입니다 - ...append는 다른 일을 하고 라이브입니다. 이전에는 라이브 상태여서 추가할 수 없었거나 "보고"되어 추가할 수 있었지만 라이브 상태가 아니었습니다.
열쇠는 이것을 사용하는 것 같습니다.
GrBld = dt1 << Graph Builder(nada-nada-nada);
다른 유형의 개체(디스플레이 상자?)를 생성합니다. 최소한 "Graph Builder" 단어의 색상이 바뀌었고 이제 GrBld를 다른 항목에 추가할 수 있습니다.
이 경우 Report()를 사용하고 싶지 않습니다. (displaybox 스크립팅을 통해) 표시된 결과를 마이닝할 수 있도록 플랫폼 출력에 대한 참조가 필요할 때 보고서가 유용하다는 것을 알았습니다. 이는 아래 예에서 빠르게 확인할 수 있습니다.
biv와 bivRpt는 둘 다 출력을 생성하지만 서로 다른 개체 유형입니다. biv는 "Bivariate[]"이고 bivRpt는 "DisplayBox"입니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );<BR />
biv = Bivariate( Y( :weight ), X( :height ), Fit Line );<BR />
<BR />biv << LocalDataFilter(<BR /><BR /> Add Filter(<BR /><BR /> columns( :age, :sex ),<BR /><BR /> Where( :age == {13, 14, 15, 16} ),<BR /><BR /> Where( :sex == "M" ),<BR /><BR /> Display( :age, Size( 160, 90 ), List Display )<BR /><BR /> )<BR /><BR />);<BR /><BR /><BR /><BR />
bivRpt = Report(
Bivariate( Y( :weight ), X( :height ), Fit Line )
);<BR /><BR /><BR /><BR /><BR />bivRpt << showTreeStructure;<BR /><BR /><BR />NewWindow("Biv's Report", bivRpt);<BR />
라이브 차트 및 분석의 사용자 지정 배열인 원하는 작업에 대해 다음을 수행합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Profit by Product.jmp" );
gb1 = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Quarter ),
Y( :Revenue ),
Y( :Product Cost, Position( 1 ) ),
Y( :Profit, Position( 1 ) ),
Wrap( :Product Line )
),
Elements( BoxPlot( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) ) )
)
);
gb2 = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Quarter ),
Y( :Revenue ),
Y( :Product Cost, Position( 1 ) ),
Y( :Customer Service Cost, Position( 1 ) )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) )
)
)
);
New Window( "", <BR /><BR />Tab Box( Tab Page Box( "Graph1", gb1 ),<BR /><BR />Tab Page Box( "Graph2", gb2 )<BR /><BR /> ) );