여러 저널을 하나의 저널로 결합<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 아래와 비슷한 작업을 하고 싶습니다. 저는 JMP9을 실행하고 있습니다.
Trend_rpt = trend_biv1 << 보고서 ; //trend_biv1은 이변량 개체입니다.
Trend_rpt << 저널 저장 ( 저장 경로 || "journal1.jrn" ) ;
Trend_rpt = trend_biv2 << 보고서 ; //trend_biv2는 두 번째 이변량 개체입니다.
Trend_rpt << 저널 저장 ( 저장 경로 || "journal2.jrn" ) ;
//나중에 스크립트에서 보고서 및 이변량 개체가 더 이상 존재하지 않은 후:
ob1_jrn = 열려 있는 ( 저장 경로 || "journal1.jrn" ) ;
ob2_jrn = 열려 있는 ( 저장 경로 || "journal2.jrn" ) ;
ob1_jrn << 추가 ( ob2_jrn ) ; //작동하지 않습니다.
ob1_jrn << 저널 저장 ( 저장 경로 || "결합저널.jrn" ) ;
저널 출력물을 하나의 저널로 결합하는 방법을 원합니다.
또는 여러 .PNG 파일을 열고 단일 저널에 추가하는 방법을 원합니다.제가 아는 한, 저널에 이미지 파일을 추가할 수 있는 방법은 없습니다.이견있는 사람?감사해요!
Re: 여러 저널을 하나의 저널로 결합합니다.넬슨 씨, 감사합니다
그야말로 일석이조였다.. 나는 말 그대로 최종 저널의 개요 상자 제목 문제를 해결하는 방법을 연구하고 있었습니다.
감사합니다
Re: 여러 저널을 하나의 저널로 결합합니다.귀하의 코드에서는 변수 jjrn1, jjrn2 및 jjrn3이 저널 자체라고 가정하는 것 같습니다.이는 저널이 아니라 저널에 대한 포인터입니다.그래서 당신이 가지고 있을 때
jjrn1_rpt = jjrn1;
jjrn1_rpt << save journal( SavePath || "journal1.jrn" );
jjrn1 << close window;
변수 jjrn1_rpt에 저널의 새 복사본이 없고 저널에 대한 포인터만 있습니다.따라서 저널을 닫으면 jjrn1이나 jjrn1_rpt 모두 가리킬 것이 없습니다.
저널 저장 섹션 이전에 아래 코드를 입력하면 통합 저널이 생성됩니다.
nw = new window( "Example",journal
ob = outline box( "Example1",
hhh = H List Box(
)
)
);
hhh << append(jjrn1);
jjrn1 << close window;
hhh << append(jjrn2);
jjrn2 << close window;
hhh << append(jjrn3);
jjrn3 << close window;
Re: 여러 저널을 하나의 저널로 결합합니다.나는 이전 스레드에서 이것을 알고 있으며 이 코드는 훌륭하게 작동합니다. 하지만 제 질문은 보고서에서 생성된 저널이 이미 열려 있는 경우 어떻게 접근하시겠습니까?
그래도 저장한 다음 다시 가져와야 하나요? 아니면 그냥 개요 상자에 적용할 수 있나요? 함수 반복에 도움을 준 Mr. TxNelson에게 감사 인사를 전합니다.
dt = Current Data Table();
doGraphPlot = Function(
{dt, Xaxis, Yaxis, Grby, chnl},
Eval(
Substitute(
Expr(
gb = dt << Graph Builder(
invisible,
where( dt:channel == chnl ),
size( 600, 400 ),
show control panel( 0 ),
show legend( 0 ),
variables(
Y( Eval( Yaxis ) ),
X( Eval( Xaxis ) ),
Group X( Eval( Xgrby ) ),
Overlay( :RowCol )
),
elements( smoother( X, Y, legend( 19 ), lambda( 0.0001 ) ) )
)
),
Expr( chnl ), chnl,
Expr( mode ), mode,
Expr( wafer ), wafer
)
);
(gb << top Report)[TextBox(1)] << delete; //delete the where statemen
Report( gb )[Outline Box( 1 )] << set title( char(wafer) || " [" || char( mode ) || "] Channel = " || char( chnl ) );
);
// close( dtsum, no save );
dtsum = dt
<< Summary(
Group(
:channel,
:trmode,
:wafer_number
),
invisible ); //
jjrn1 = New Window( "Data Plot - Output1 vs Input", << Journal );
Yaxis = Expr(
Column( dt, "Output1" )
);
Xaxis = Expr(
Column( dt, "Input" )
);
Xgrby = Expr(
Column( dt, "wafer_number" )
);
For( i = 1, i <= N Row( dtsum ), i++,
chnl = dtsum:channel[i];
mode = dtsum:trmode[i];
wafer = dtsum:wafer_number[i];
doGraphPlot( dt, Yaxis, Xaxis, Xgrby, chnl );
jjrn1 << append( Report( gb ) );
gb << close window;
);
jjrn2 = New Window( "Data Plot - Output2 vs Input", << Journal );
Yaxis = Expr(
Column( dt, "Output2" )
);
Xaxis = Expr(
Column( dt, "Input" )
);
Xgrby = Expr(
Column( dt, "wafer_number" )
);
For( i = 1, i <= N Row( dtsum ), i++,
chnl = dtsum:channel[i];
mode = dtsum:trmode[i];
doGraphPlot( dt, Yaxis, Xaxis, Xgrby, chnl );
jjrn2 << append( Report( gb ) );
gb << close window;
);
jjrn3 = New Window( "Data Plot - Output3 vs Input", << Journal );
Yaxis = Expr(
Column( dt, "Output3" )
);
Xaxis = Expr(
Column( dt, "Input" )
);
Xgrby = Expr(
Column( dt, "wafer_number" )
);
For( i = 1, i <= N Row( dtsum ), i++,
chnl = dtsum:channel[i];
mode = dtsum:trmode[i];
doGraphPlot( dt, Yaxis, Xaxis, Xgrby, chnl );
jjrn3 << append( Report( gb ) );
gb << close window;
);
Close( dtsum, nosave );
SavePath = "c:\temp\";
jjrn1_rpt = jjrn1;
jjrn1_rpt << save journal( SavePath || "journal1.jrn" );
jjrn1 << close window;
jjrn2_rpt = jjrn2;
jjrn2_rpt << save journal( SavePath || "journal2.jrn" );
jjrn2 << close window;
jjrn3_rpt = jjrn3;
jjrn3_rpt << save journal( SavePath || "journal3.jrn" );
jjrn3 << close window;
nw = new window( "Example",
ob = outline box( "Example1",
H List Box(
Journal Box( ob1_jrn_txt ), // This the confusing part
Journal Box( ob2_jrn_txt ), // This the confusing part
Journal Box( ob3_jrn_txt ) // This the confusing part
)
)
);Re: 여러 저널을 하나의 저널로 결합합니다.//아래 코드는 Journal Box() 및 Picture Box()를 사용하여 저장된 저널과 그림의 사용자 정의 표시를 만듭니다.
//trend_cc1이 보이지 않는 경우에도 jrn_src=trend_cc1 << get 저널과 같은 문을 사용할 수 있습니다.
//저장하기 전.
저장 경로 = "c:\임시\" ;
dt = 열려 있는 ( "$sample_data\semiconductor 기능.jmp" ) ;
dt : lot_id << 속성 설정 (
"가치 순서" ,
{ "로트1" , "로트2" , "로트3" , "로트4" , "로트5" , "로트6" , "로트7" , "로트8" , "로트9" ,
"로트10" , "lot11" , "lot12" , "lot13" }
) ;
dt << 열별 색상 ( : lot_id ) ;
//트렌드 차트 생성
트렌드_cc1 = 관리도 (
단계 ( : lot_id ) ,
KSigma ( 삼 ) ,
제한 범례 표시 ( 0 ) ,
차트 열 (
: NPN1 ,
레비 제닝스 (
테스트 1 ( 1 )
)
) ,
SendToReport (
보내다 (
{ "NPN1의 레비 제닝스" } ,
"1" ,
스케일박스 ,
{ 체재 ( "최상의" , 10 ) , 최소 ( 0.5 ) , 맥스 ( 1456 ) , Inc. ( 100 ) ,
사소한 진드기 ( 0 )}
) ,
보내다 (
{ "NPN1의 레비 제닝스" } ,
"레비 제닝스 차트" ,
프레임박스 ,
{ 프레임 크기 ( 546 , 182 )}
)
)
) ;
trend_cc2 = 관리도 (
단계 ( : lot_id ) ,
KSigma ( 삼 ) ,
제한 범례 표시 ( 0 ) ,
차트 열 (
: PNP1 ,
레비 제닝스 (
테스트 1 ( 1 )
)
) ,
SendToReport (
보내다 (
{ "PNP1의 레비 제닝스" } ,
"1" ,
스케일박스 ,
{ 체재 ( "최상의" , 10 ) , 최소 ( 0.5 ) , 맥스 ( 1456 ) , Inc. ( 100 ) ,
사소한 진드기 ( 0 )}
) ,
보내다 (
{ "PNP1의 레비 제닝스" } ,
"레비 제닝스 차트" ,
프레임박스 ,
{ 프레임 크기 ( 546 , 182 )}
)
)
) ;
Trend_rpt = 트렌드_cc1 << 보고서 ; //trend_cc1은 관리도 개체입니다.
Trend_rpt << 저널 저장 ( 저장 경로 || "journal1.jrn" ) ;
트렌드_cc1 << 창 닫기 ;
Trend_rpt = trend_cc2 << 보고서 ; //trend_cc2는 두 번째 컨트롤 차트 개체입니다.
Trend_rpt << 저널 저장 ( 저장 경로 || "journal2.jrn" ) ;
trend_cc2 << 창 닫기 ;
//나중에 스크립트에서 보고서 및 이변량(또는 관리도) 개체가 더 이상 존재하지 않은 후:
//함수 >> 표시 >> 그림 상자()의 JMP 예제
그림 = 만약에 ( 호스트는 ( 윈도우 ) ,
열려 있는 (
"$JMP_HOME/지원 파일 영어/오늘의 팁/images/tip8-1.gif" ,
png
)
) ;
// JRN 파일을 텍스트나 저널로 읽을 수 있습니다.
//저널 파일로 읽으면 2개의 저널도 갖게 됩니다.
//창이 열려 있으면 보이지 않게 열 수 있습니다.
ob1_jrn_txt = 텍스트 파일 로드 ( 저장 경로 || "journal1.jrn" , 보이지 않는) ;
ob2_jrn_txt = 텍스트 파일 로드 ( 저장 경로 || "journal2.jrn" , 보이지 않는) ;
뉴 = 새창 ( "예" ,
산부인과 = 아웃라인박스 ( "펼쳐놓고 쌓으세요" ,
HListBox (
그림 상자 ( 그림 ) ,
VlistBox ( 저널 박스 ( ob1_jrn_txt ) , 저널박스 ( ob2_jrn_txt )
)))) ;
ob1_jrn = 열려 있는 ( 저장 경로 || "journal1.jrn" ) ;
ob2_jrn = 열려 있는 ( 저장 경로 || "journal2.jrn" ) ;
ob1_jrn_src = ob1_jrn << 일기를 얻다 ;
ob2_jrn_src = ob2_jrn << 일기를 얻다 ;
//이제 저널 창 개체를 닫습니다.
ob1_jrn << 창 닫기 ;
ob2_jrn << 창 닫기 ;
산부인과 << 추가 ( HlistBox ( 저널 박스 ( ob1_jrn_src ) , 저널박스 ( ob2_jrn_src )
)) ;
Re: 여러 저널을 하나의 저널로 결합합니다.표시 상자만 추가할 수 있습니다. 색인(또는 이름)은 저널 개체 내 디스플레이 상자의 주소를 지정하는 데 사용될 수 있습니다.
이것은 작동합니다:
ob1_jrn << 추가 ( ob2_jrn [ 1 ]) ;
또는 더 많은 레이아웃 옵션을 얻으려면 두 저널의 내용을 새 창에 결합할 수 있습니다. 예:
뉴 = 새창 ( "비브1&2" , hlistbox ( ob1_jrn [ 1 ] , ob2_jrn [ 1 ] ) ) ;
뉴 << 저널 저장 ( 저장 경로 || "결합저널.jrn" ) ;