<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, me gustaría hacer algo similar a lo siguiente. Estoy ejecutando JMP9.
Tendencia_rpt = tendencia_biv1 << Informe ; //trend_biv1 es un objeto bivariado.
Tendencia_rpt << Guardar diario ( Guardar ruta || "diario1.jrn" ) ;
Tendencia_rpt = tendencia_biv2 << Informe ; //trend_biv2 es un segundo objeto bivariado.
Tendencia_rpt << Guardar diario ( Guardar ruta || "diario2.jrn" ) ;
//Más adelante en el script, después de que el informe y los objetos bivariados ya no existan:
ob1_jrn = Abierto ( Guardar ruta || "diario1.jrn" ) ;
ob2_jrn = Abierto ( Guardar ruta || "diario2.jrn" ) ;
ob1_jrn << Adjuntar ( ob2_jrn ) ; //no funciona.
ob1_jrn << Guardar diario ( Guardar ruta || "combinedJournal.jrn" ) ;
Me gustaría algún método para combinar los resultados del diario en un solo diario.
Alternativamente, me gustaría encontrar una forma de abrir varios archivos .PNG y agregarlos a una sola revista.Hasta donde yo sé, no hay forma de agregar un archivo de imagen a una revista.¿Alguna idea?¡Gracias!
En su código, parece asumir que las variables jjrn1, jjrn2 y jjrn3 son en sí mismas las revistas.No son las revistas, sino más bien un indicador de las revistas.Así que cuando tengas
jjrn1_rpt = jjrn1;
jjrn1_rpt << save journal( SavePath || "journal1.jrn" );
jjrn1 << close window;
no tienes una nueva copia del diario en la variable jjrn1_rpt, solo tienes un puntero al diario.Entonces, cuando cierras el diario, ni jjrn1 ni jjrn1_rpt tienen nada que señalar.
Si coloca el código a continuación, antes de la sección sobre cómo guardar los diarios, terminará con un diario combinado.
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;
Lo sé en un hilo antiguo y este código funciona muy bien. Sin embargo, mi pregunta: ¿cómo lo abordaría cuando ya tenga revistas abiertas que se generaron a partir de un informe?
¿Aún tienes que guardarlo y luego volver a incluirlo o puedes simplemente aplicarlo al cuadro de esquema? Agradezco al Sr. TxNelson por ayudarnos a crear un bucle con la función.
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
)
)
);//El siguiente código utiliza Journal Box() y Picture Box() para crear una visualización personalizada de diarios e imágenes guardados.
//Tenga en cuenta que puede utilizar una declaración como jrn_src=trend_cc1 << obtener diario, incluso cuando trend_cc1 es invisible
//antes de guardarlos.
Guardar ruta = "c:\temp\" ;
dt = abierto ( "$sample_data\capacidad del semiconductor.jmp" ) ;
dt : id_lote << Establecer propiedad (
"Ordenación de valores" ,
{ "lote1" , "lote2" , "lote3" , "lote4" , "lote5" , "lote6" , "lote7" , "lote8" , "lote9" ,
"lote10" , "lote11" , "lote12" , "lote13" }
) ;
dt << Color por columna ( : id_lote ) ;
// crear gráficos de tendencias
tendencia_cc1 = Tabla de control (
Fase ( : id_lote ) ,
KSigma ( 3 ) ,
Mostrar leyenda de límites ( 0 ) ,
Col del gráfico (
: NPN1 ,
Levy Jennings (
Prueba 1 ( 1 )
)
) ,
Enviar a informe (
Despacho (
{ "Levey Jennings de NPN1" } ,
"1" ,
Caja de escala ,
{ Formato ( "Mejor" , 10 ) , mín. ( 0,5 ) , máx. ( 1456 ) , Cª ( 100 ) ,
Garrapatas menores ( 0 )}
) ,
Despacho (
{ "Levey Jennings de NPN1" } ,
"Gráfico de Levey Jennings" ,
Cuadro de marco ,
{ Tamaño del marco ( 546 , 182 )}
)
)
) ;
tendencia_cc2 = Tabla de control (
Fase ( : id_lote ) ,
KSigma ( 3 ) ,
Mostrar leyenda de límites ( 0 ) ,
Col del gráfico (
: PNP1 ,
Levy Jennings (
Prueba 1 ( 1 )
)
) ,
Enviar a informe (
Despacho (
{ "Levey Jennings de PNP1" } ,
"1" ,
Caja de escala ,
{ Formato ( "Mejor" , 10 ) , mín. ( 0,5 ) , máx. ( 1456 ) , Cª ( 100 ) ,
Garrapatas menores ( 0 )}
) ,
Despacho (
{ "Levey Jennings de PNP1" } ,
"Gráfico de Levey Jennings" ,
Cuadro de marco ,
{ Tamaño del marco ( 546 , 182 )}
)
)
) ;
Tendencia_rpt = tendencia_cc1 << Informe ; //trend_cc1 es un objeto de gráfico de control.
Tendencia_rpt << Guardar diario ( Guardar ruta || "diario1.jrn" ) ;
tendencia_cc1 << Cerrar ventana ;
Tendencia_rpt = tendencia_cc2 << Informe ; //trend_cc2 es un segundo objeto de gráfico de control.
Tendencia_rpt << Guardar diario ( Guardar ruta || "diario2.jrn" ) ;
tendencia_cc2 << Cerrar ventana ;
//Más adelante en el script, después de que los objetos de informe y bivariado (o gráfico de control) ya no existan:
//Ejemplo JMP de Funciones >> Pantalla >> Cuadro de imagen()
picto = Si ( El anfitrión es ( ventanas ) ,
Abierto (
"$JMP_HOME/Archivos de soporte Inglés/Consejo del día/images/tip8-1.gif" ,
png
)
) ;
// puedes leer el archivo JRN como texto o como un diario
//Si lees como un archivo de diario, también tendrás 2 diarios
//ventanas abiertas, puedes abrirlas de forma invisible
ob1_jrn_txt = Cargar archivo de texto ( Guardar ruta || "diario1.jrn" , Invisible) ;
ob2_jrn_txt = Cargar archivo de texto ( Guardar ruta || "diario2.jrn" , Invisible) ;
noroeste = Nueva ventana ( "Ejemplo" ,
transmisión exterior = Cuadro de esquema ( "extiéndelos y apílalos" ,
HListBox (
Cuadro de imagen ( picto ) ,
VlistBox ( Caja de diario ( ob1_jrn_txt ) , Caja de diario ( ob2_jrn_txt )
)))) ;
ob1_jrn = Abierto ( Guardar ruta || "diario1.jrn" ) ;
ob2_jrn = Abierto ( Guardar ruta || "diario2.jrn" ) ;
ob1_jrn_src = ob1_jrn << obtener diario ;
ob2_jrn_src = ob2_jrn << obtener diario ;
//ahora cerramos los objetos de la ventana del diario
ob1_jrn << Cerrar ventana ;
ob2_jrn << Cerrar ventana ;
transmisión exterior << adjuntar ( HlistBox ( Caja de diario ( ob1_jrn_src ) , Caja de diario ( ob2_jrn_src )
)) ;
Sólo se pueden agregar cuadros de visualización. Se puede utilizar un índice (o nombre) para abordar un cuadro de visualización dentro del objeto de diario.
Esto debería funcionar:
ob1_jrn << adjuntar ( ob2_jrn [ 1 ]) ;
O alternativamente, para obtener más opciones de diseño, el contenido de ambas revistas se puede combinar en una nueva ventana, por ejemplo:
noroeste = nueva ventana ( "Biv1 y 2" , cuadro de lista h ( ob1_jrn [ 1 ] , ob2_jrn [ 1 ] ) ) ;
noroeste << Guardar diario ( Guardar ruta || "combinedJournal.jrn" ) ;