Combinez plusieurs journaux en un seul journal<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />iSalut, j'aimerais faire quelque chose de similaire à ci-dessous. J'utilise JMP9.
Tendance_rpt = tendance_biv1 << Rapport ; //trend_biv1 est un objet bivarié.
Tendance_rpt << Enregistrer le journal ( Enregistrer le chemin || "journal1.jrn" ) ;
Tendance_rpt = tendance_biv2 << Rapport ; //trend_biv2 est un deuxième objet bivarié.
Tendance_rpt << Enregistrer le journal ( Enregistrer le chemin || "journal2.jrn" ) ;
//Plus tard dans le script, une fois que le rapport et les objets bivariés n'existent plus :
ob1_jrn = Ouvrir ( Enregistrer le chemin || "journal1.jrn" ) ;
ob2_jrn = Ouvrir ( Enregistrer le chemin || "journal2.jrn" ) ;
ob1_jrn << Ajouter ( ob2_jrn ) ; //ne marche pas.
ob1_jrn << Enregistrer le journal ( Enregistrer le chemin || "combinéJournal.jrn" ) ;
J'aimerais une méthode pour combiner les sorties du journal en un seul journal.
Alternativement, j'aimerais trouver un moyen d'ouvrir plusieurs fichiers .PNG et de les ajouter à un seul journal.Pour autant que je sache, il n'existe aucun moyen d'ajouter un fichier image à un journal.Des pensées?Merci!
Re : Combiner plusieurs journaux en un seul journalMerci M. Nelson
Cela a en fait fait d’une pierre deux coups. Je travaillais littéralement sur la façon de résoudre le problème avec le titre de la boîte de présentation du journal final.
Appréciez-le
Re : Combiner plusieurs journaux en un seul journalDans votre code, vous semblez supposer que les variables jjrn1, jjrn2 et jjrn3 sont elles-mêmes les journaux.Ce ne sont pas des revues, mais plutôt un indicateur des revues.Alors quand tu as
jjrn1_rpt = jjrn1;
jjrn1_rpt << save journal( SavePath || "journal1.jrn" );
jjrn1 << close window;
vous n'avez pas de nouvelle copie du journal dans la variable jjrn1_rpt, vous avez juste un pointeur vers le journal.Ainsi, lorsque vous fermez le journal, ni jjrn1 ni jjrn1_rpt n'ont quoi que ce soit vers lequel pointer.
Si vous placez le code ci-dessous, avant votre section sur la sauvegarde des journaux, vous vous retrouverez avec un journal combiné.
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 : Combiner plusieurs journaux en un seul journalJe le sais dans un ancien fil de discussion et ce code fonctionne très bien. Cependant, ma question, comment l'aborderiez-vous lorsque vous avez déjà des revues ouvertes qui ont été générées à partir d'un rapport ?
Devez-vous toujours le sauvegarder puis le ramener ou pouvez-vous simplement l'appliquer à la zone de contour ? Tiré à M. TxNelson pour son aide lors du bouclage de la fonction
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 : Combiner plusieurs journaux en un seul journal//Le code ci-dessous utilise Journal Box() et Picture Box() pour créer un affichage personnalisé des journaux et des images enregistrés.
//Notez que vous pouvez utiliser une instruction comme jrn_src=Trend_cc1 << get journal, même lorsque Trend_cc1 est invisible
//avant de les sauvegarder.
Enregistrer le chemin = "c:\temp\" ;
dt = ouvrir ( "$sample_data\capacité de semi-conducteur.jmp" ) ;
dt : lot_id << Définir la propriété (
"Ordre de valeur" ,
{ "lot1" , "lot2" , "lot3" , "lot4" , "lot5" , "lot6" , "lot7" , "lot8" , "lot9" ,
"lot10" , "lot11" , "lot12" , "lot13" }
) ;
dt << Couleur par colonne ( : lot_id ) ;
// crée des graphiques de tendances
tendance_cc1 = Carte de contrôle (
Phase ( : lot_id ) ,
KSigma ( 3 ) ,
Afficher la légende des limites ( 0 ) ,
Col du graphique (
: NPN1 ,
Levey Jennings (
Essai 1 ( 1 )
)
) ,
EnvoyerVersRapport (
Expédition (
{ "Levey Jennings de NPN1" } ,
"1" ,
Boîte à échelle ,
{ Format ( "Meilleur" , dix ) , Min. ( 0,5 ) , Max. ( 1456 ) , Inc. ( 100 ) ,
Tiques mineures ( 0 )}
) ,
Expédition (
{ "Levey Jennings de NPN1" } ,
"Graphique de Levey Jennings" ,
Boîte de cadre ,
{ Taille du cadre ( 546 , 182 )}
)
)
) ;
tendance_cc2 = Carte de contrôle (
Phase ( : lot_id ) ,
KSigma ( 3 ) ,
Afficher la légende des limites ( 0 ) ,
Col du graphique (
: PNP1 ,
Levey Jennings (
Essai 1 ( 1 )
)
) ,
EnvoyerVersRapport (
Expédition (
{ "Levey Jennings de PNP1" } ,
"1" ,
Boîte à échelle ,
{ Format ( "Meilleur" , dix ) , Min. ( 0,5 ) , Max. ( 1456 ) , Inc. ( 100 ) ,
Tiques mineures ( 0 )}
) ,
Expédition (
{ "Levey Jennings de PNP1" } ,
"Graphique de Levey Jennings" ,
Boîte de cadre ,
{ Taille du cadre ( 546 , 182 )}
)
)
) ;
Tendance_rpt = tendance_cc1 << Rapport ; //trend_cc1 est un objet carte de contrôle.
Tendance_rpt << Enregistrer le journal ( Enregistrer le chemin || "journal1.jrn" ) ;
tendance_cc1 << Fermer la fenêtre ;
Tendance_rpt = tendance_cc2 << Rapport ; //trend_cc2 est un deuxième objet de carte de contrôle.
Tendance_rpt << Enregistrer le journal ( Enregistrer le chemin || "journal2.jrn" ) ;
tendance_cc2 << Fermer la fenêtre ;
//Plus tard dans le script, après que les objets rapport et bivariés (ou carte de contrôle) n'existent plus :
//Exemple JMP à partir de fonctions >> Affichage >> Picture Box()
photo = Si ( L'hôte est ( les fenêtres ) ,
Ouvrir (
"$JMP_HOME/Fichiers de support anglais/Astuce du jour/images/tip8-1.gif" ,
png
)
) ;
// vous pouvez lire le fichier JRN sous forme de texte ou sous forme de journal
//Si vous lisez sous forme de fichier journal, vous aurez également 2 journaux
// les fenêtres s'ouvrent, vous pouvez les ouvrir de manière invisible
ob1_jrn_txt = Charger un fichier texte ( Enregistrer le chemin || "journal1.jrn" , Invisible) ;
ob2_jrn_txt = Charger un fichier texte ( Enregistrer le chemin || "journal2.jrn" , Invisible) ;
maintenant = Nouvelle fenetre ( "Exemple" ,
ob = Boîte de contour ( "Disposez-les et empilez-les" ,
HListeBoîte (
Boîte d'image ( photo ) ,
VlistBox ( Boîte à journaux ( ob1_jrn_txt ) , Boîte à journaux ( ob2_jrn_txt )
)))) ;
ob1_jrn = Ouvrir ( Enregistrer le chemin || "journal1.jrn" ) ;
ob2_jrn = Ouvrir ( Enregistrer le chemin || "journal2.jrn" ) ;
ob1_jrn_src = ob1_jrn << obtenir un journal ;
ob2_jrn_src = ob2_jrn << obtenir un journal ;
//ferme maintenant les objets de la fenêtre du journal
ob1_jrn << Fermer la fenêtre ;
ob2_jrn << Fermer la fenêtre ;
ob << ajouter ( HlistBox ( Boîte à journaux ( ob1_jrn_src ) , Boîte à journaux ( ob2_jrn_src )
)) ;
Re : Combiner plusieurs journaux en un seul journalSeules les zones d'affichage peuvent être ajoutées. Un index (ou un nom) peut être utilisé pour adresser une zone d'affichage dans l'objet journal.
Cela devrait fonctionner :
ob1_jrn << ajouter ( ob2_jrn [ 1 ]) ;
Ou bien, pour obtenir plus d'options de mise en page, le contenu des deux revues peut être combiné dans une nouvelle fenêtre, par exemple :
maintenant = nouvelle fenetre ( "Biv1&2" , hlistbox ( ob1_jrn [ 1 ] , ob2_jrn [ 1 ] ) ) ;
maintenant << Enregistrer le journal ( Enregistrer le chemin || "combinéJournal.jrn" ) ;