Combina più riviste in un unico diario<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />iCiao, mi piacerebbe fare qualcosa di simile a quello riportato di seguito. Sto eseguendo JMP9.
Trend_rpt = trend_biv1 << Rapporto ; //trend_biv1 è un oggetto bivariato.
Trend_rpt << Salva diario ( SalvaPercorso || "journal1.jrn" ) ;
Trend_rpt = trend_biv2 << Rapporto ; //trend_biv2 è un secondo oggetto bivariato.
Trend_rpt << Salva diario ( SalvaPercorso || "journal2.jrn" ) ;
//Più avanti nello script, dopo che il report e gli oggetti bivariati non esistono più:
ob1_jrn = Aprire ( SalvaPercorso || "journal1.jrn" ) ;
ob2_jrn = Aprire ( SalvaPercorso || "journal2.jrn" ) ;
ob1_jrn << Aggiungere ( ob2_jrn ) ; //non funziona.
ob1_jrn << Salva diario ( SalvaPercorso || "combinedJournal.jrn" ) ;
Vorrei un metodo per combinare l'output del diario in un unico diario.
In alternativa, vorrei un modo per aprire più file .PNG e aggiungerli a un singolo diario.Per quanto ne so, non c'è modo di aggiungere un file immagine a un diario.qualche idea?Grazie!
Re: Combina più riviste in un unico diarioGrazie, signor Nelson
Questo in realtà ha preso due piccioni con una fava.. Stavo letteralmente lavorando su come risolvere il problema con il titolo della bozza del diario finale.
Apprezzalo
Re: Combina più riviste in un unico diarioNel tuo codice, sembra che tu presuppone che le variabili jjrn1, jjrn2 e jjrn3 siano di per sé i diari.Non sono i diari, ma piuttosto un indicatore dei diari.Quindi quando hai
jjrn1_rpt = jjrn1;
jjrn1_rpt << save journal( SavePath || "journal1.jrn" );
jjrn1 << close window;
non hai una nuova copia del diario nella variabile jjrn1_rpt, hai solo un puntatore al diario.Quindi quando chiudi il diario, né jjrn1 né jjrn1_rpt hanno nulla a cui puntare.
Se inserisci il codice qui sotto, prima della sezione sul salvataggio dei diari, ti ritroverai con un diario combinato.
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: Combina più riviste in un unico diarioLo so nel vecchio thread e questo codice funziona benissimo. Tuttavia la mia domanda: come ti avvicineresti quando hai già dei diari aperti generati da un rapporto?
Devi ancora salvarlo e poi ripristinarlo o puoi semplicemente applicarlo alla casella di contorno? Un messaggio al signor TxNelson per avermi aiutato a eseguire il looping con la funzione
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: Combina più riviste in un unico diario//Il codice seguente utilizza Journal Box() e Picture Box() per creare una visualizzazione personalizzata di diari e immagini salvati.
//Nota che puoi usare un'istruzione come jrn_src=trend_cc1 << ottieni journal, anche quando trend_cc1 è invisibile
//prima di salvarli.
SalvaPercorso = "c:\temp\" ;
dt = aprire ( "$dati_campione\capacità semiconduttori.jmp" ) ;
dt : lotto_id << Imposta proprietà (
"Ordine di valore" ,
{ "lotto1" , "lotto2" , "lotto3" , "lotto4" , "lotto5" , "lotto6" , "lotto7" , "lotto8" , "lotto9" ,
"lotto10" , "lotto11" , "lotto12" , "lotto13" }
) ;
dt << Colore per colonna ( : lotto_id ) ;
// crea grafici di tendenza
tendenza_cc1 = Carta di controllo (
Fase ( : lotto_id ) ,
KSigma ( 3 ) ,
Mostra legenda limiti ( 0 ) ,
Grafico col (
: NPN1 ,
Levy Jennings (
Prova 1 ( 1 )
)
) ,
Invia a rapporto (
Spedizione (
{ "Levey Jennings di NPN1" } ,
"1" ,
ScaleBox ,
{ Formato ( "Migliore" , 10 ) , minimo ( 0,5 ) , Massimo ( 1456 ) , Inc ( 100 ) ,
Zecche minori ( 0 )}
) ,
Spedizione (
{ "Levey Jennings di NPN1" } ,
"Grafico di Levey Jennings" ,
FrameBox ,
{ Dimensione della cornice ( 546 , 182 )}
)
)
) ;
tendenza_cc2 = Carta di controllo (
Fase ( : lotto_id ) ,
KSigma ( 3 ) ,
Mostra legenda limiti ( 0 ) ,
Grafico col (
: PNP1 ,
Levy Jennings (
Prova 1 ( 1 )
)
) ,
Invia a rapporto (
Spedizione (
{ "Levey Jennings di PNP1" } ,
"1" ,
ScaleBox ,
{ Formato ( "Migliore" , 10 ) , minimo ( 0,5 ) , Massimo ( 1456 ) , Inc ( 100 ) ,
Zecche minori ( 0 )}
) ,
Spedizione (
{ "Levey Jennings di PNP1" } ,
"Grafico di Levey Jennings" ,
FrameBox ,
{ Dimensione della cornice ( 546 , 182 )}
)
)
) ;
Trend_rpt = tendenza_cc1 << Rapporto ; //trend_cc1 è un oggetto grafico di controllo.
Trend_rpt << Salva diario ( SalvaPercorso || "journal1.jrn" ) ;
tendenza_cc1 << Chiudi la finestra ;
Trend_rpt = tendenza_cc2 << Rapporto ; //trend_cc2 è un secondo oggetto grafico di controllo.
Trend_rpt << Salva diario ( SalvaPercorso || "journal2.jrn" ) ;
tendenza_cc2 << Chiudi la finestra ;
//Più avanti nello script, dopo che gli oggetti report e bivariati (o grafici di controllo) non esistono più:
//Esempio JMP da Funzioni >> Visualizza >> Casella immagine()
fig = Se ( L'ospite è ( finestre ) ,
Aprire (
"$JMP_HOME/File di supporto inglese/Suggerimento del giorno/images/tip8-1.gif" ,
png
)
) ;
// puoi leggere il file JRN come testo o come diario
//Se leggi come file journal avrai anche 2 journal
//le finestre si aprono, puoi aprirle invisibili
ob1_jrn_txt = Carica file di testo ( SalvaPercorso || "journal1.jrn" , invisibile) ;
ob2_jrn_txt = Carica file di testo ( SalvaPercorso || "journal2.jrn" , invisibile) ;
ora = Nuova finestra ( "Esempio" ,
ob = OutlineBox ( "disponili e impilali" ,
HListBox (
Scatola immagine ( fig ) ,
VlistBox ( Scatola del diario ( ob1_jrn_txt ) , JournalBox ( ob2_jrn_txt )
)))) ;
ob1_jrn = Aprire ( SalvaPercorso || "journal1.jrn" ) ;
ob2_jrn = Aprire ( SalvaPercorso || "journal2.jrn" ) ;
ob1_jrn_src = ob1_jrn << prendi il diario ;
ob2_jrn_src = ob2_jrn << prendi il diario ;
//ora chiudo gli oggetti della finestra del journal
ob1_jrn << chiudi la finestra ;
ob2_jrn << chiudi la finestra ;
ob << aggiungere ( HlistBox ( Scatola del diario ( ob1_jrn_src ) , JournalBox ( ob2_jrn_src )
)) ;
Re: Combina più riviste in un unico diarioÈ possibile aggiungere solo caselle di visualizzazione. Un indice (o un nome) può essere utilizzato per indirizzare una casella di visualizzazione all'interno dell'oggetto journal.
Questo dovrebbe funzionare:
ob1_jrn << aggiungere ( ob2_jrn [ 1 ]) ;
In alternativa, per ottenere più opzioni di layout, è possibile combinare il contenuto di entrambe le riviste in una nuova finestra, ad esempio:
ora = nuova finestra ( "Biv1&2" , hlistbox ( ob1_jrn [ 1 ] , ob2_jrn [ 1 ] ) ) ;
ora << Salva diario ( SalvaPercorso || "combinedJournal.jrn" ) ;