<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je suis curieux de voir s'il existe une meilleure façon de faire le script ci-dessous. Actuellement, j'ai une fonction prendre l'entrée de l'utilisateur et faire une liste de toutes les valeurs Y possibles pour le ou les graphiques à suivre. Ensuite, la fonction suivante est appelée pour créer les graphiques. J'aimerais savoir s'il est possible de réduire considérablement la quantité de code nécessaire en utilisant un ou deux générateurs de graphes au lieu des 6 instructions if contenant leurs propres générateurs de graphes.
HALTbuildGraph = Une fonction ({} , { tempcol = "" , vibcol = "" } ,
si ( N articles ( LogCheckBox << Être sélectionné ()) == 1 , // si les fichiers de log ont été importés
pour ( je = 1 , je <= n Col () , je ++,
si ( contient ( carboniser ( nom de colonne ( je )) , "Temp" ) Et contient ( carboniser ( nom de colonne ( je )) , "Point de consigne" ) ,
tempcol = carboniser ( nom de colonne ( je )) ,
/ * sinon si * / contient ( carboniser ( nom de colonne ( je )) , "Vib" ) Et contient ( carboniser ( nom de colonne ( je )) , "Point de consigne" ) ,
vibcol = carboniser ( nom de colonne ( je )) ;
) ;
) ;
si ( tempcol == "" , // si la colonne Point de consigne de température n'a pas été trouvée.
impression ( "Erreur 111a: Point de consigne de température introuvable" ) ;
jeter ()
) ;
si ( vibcol == "" , // si la colonne Point de consigne de vibration est introuvable.
impression ( "Erreur 111b: Point de consigne de vibration introuvable" ) ;
jeter () ;
) ;
si ( N articles ( liste de graphes ) == 1 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ,
/ * sinon si * / N articles ( liste de graphes ) == 2 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) ) ,
Y ( colonne ( liste de graphes [ 2 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ] || "&" || liste de graphes [ 2 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ,
/ * sinon si * / N articles ( liste de graphes ) == 3 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) ) ,
Y ( colonne ( liste de graphes [ 2 ]) ) ,
Y ( colonne ( liste de graphes [ 3 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 5 ) ,
Ligne ( X , Y , Légende ( 31 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ] || "," || liste de graphes [ 2 ] || ", &" || liste de graphes [ 3 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ,
/ * sinon si * / N articles ( liste de graphes ) == 4 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) ) ,
Y ( colonne ( liste de graphes [ 2 ]) ) ,
Y ( colonne ( liste de graphes [ 3 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 5 ) ,
Ligne ( X , Y , Légende ( 31 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ] || "," || liste de graphes [ 2 ] || ", &" || liste de graphes [ 3 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ;
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 4 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 4 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ,
/ * sinon si * / N articles ( liste de graphes ) == 5 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) ) ,
Y ( colonne ( liste de graphes [ 2 ]) ) ,
Y ( colonne ( liste de graphes [ 3 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 5 ) ,
Ligne ( X , Y , Légende ( 31 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ] || "," || liste de graphes [ 2 ] || ", &" || liste de graphes [ 3 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ;
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 4 ]) ) ,
Y ( colonne ( liste de graphes [ 5 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 4 ] || "&" || liste de graphes [ 5 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ,
/ * sinon si * / N articles ( liste de graphes ) == 6 ,
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 1 ]) ) ,
Y ( colonne ( liste de graphes [ 2 ]) ) ,
Y ( colonne ( liste de graphes [ 3 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 5 ) ,
Ligne ( X , Y , Légende ( 31 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 1 ] || "," || liste de graphes [ 2 ] || ", &" || liste de graphes [ 3 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ;
gb = Générateur de graphes (
Variables (
X ( : Temps de test ) ,
Y ( colonne ( tempcol ) ) ,
Y ( colonne ( vibcol ) ) ,
Y ( colonne ( liste de graphes [ 4 ]) ) ,
Y ( colonne ( liste de graphes [ 5 ]) ) ,
Y ( colonne ( liste de graphes [ 6 ]) )
) ,
Éléments (
Position ( 1 , 1 ) ,
Ligne ( X , Y , Légende ( 27 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 2 ) ,
Ligne ( X , Y , Légende ( 28 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 3 ) ,
Ligne ( X , Y , Légende ( 29 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 4 ) ,
Ligne ( X , Y , Légende ( 30 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
Éléments (
Position ( 1 , 5 ) ,
Ligne ( X , Y , Légende ( 31 ) , Ordre de rangée ( 0 ) , Résumé statistique ( "Signifier" ) )
) ,
SendToReport (
Envoi ({} , "titre graphique" , Zone d'édition de texte , { Définir le texte ( liste de graphes [ 4 ] || "&" || liste de graphes [ 5 ])}) ;
) ;
) ;
gb_rpt = rapport ( gb ) ;
gb_rpt [ LegendBox ( 1 )] << effacer ;
gb_rpt [ Boîte d'image ( 1 )] << Fenêtre de journal ;
gb << Fermer la fenêtre ( nosave ) ;
) ,
Ça continue mais je pense que vous obtenez la photo ...
Fondamentalement, j'ai essayé d'utiliser les instructions if dans la section Variables du générateur de graphique, mais JMP ne semble pas du tout apprécier cela. Je cherche simplement un moyen de raccourcir mon code et de le rendre plus facile à lire.
Merci encore de partager cet exemple et ces commandes. Voici à quoi ressemble le code ci-dessus maintenant. Je dirais que c'est beaucoup mieux que par le passé.
HALTbuildGraph = Une fonction ({} , { tempcol = "" , vibcol = "" } , // 11
si ( N articles ( LogCheckBox << Être sélectionné ()) == 1 , // si les fichiers de log ont été importés
pour ( je = 1 , je <= n Col () , je ++,
si ( contient ( carboniser ( nom de colonne ( je )) , "Temp" ) Et contient ( carboniser ( nom de colonne ( je )) , "Point de consigne" ) ,
tempcol = carboniser ( nom de colonne ( je )) ,
/ * sinon si * / contient ( carboniser ( nom de colonne ( je )) , "Vib" ) Et contient ( carboniser ( nom de colonne ( je )) , "Point de consigne" ) ,
vibcol = carboniser ( nom de colonne ( je )) ;
) ;
) ;
si ( tempcol == "" , // si la colonne Point de consigne de température n'a pas été trouvée.
impression ( "Erreur 111a: Point de consigne de température introuvable" ) ;
jeter ()
) ;
si ( vibcol == "" , // si la colonne Point de consigne de vibration est introuvable.
impression ( "Erreur 111b: Point de consigne de vibration introuvable" ) ;
jeter () ;
) ;
gb_expr = evalinsert ( "\ [
gb = Générateur de graphes (
Variables (
X (: heure du test),
Y (colonne (tempcol)),
Y (colonne (vibcol)),
] \ " ) ;
pour ( je = 1 , je <= N articles ( liste de graphes ) Et je <= 3 , je ++,
si ( je == N articles ( liste de graphes ) | je == 3 ,
gb_expr = gb_expr || evalinsert ( "\ [
Y (liste de graphes [^ i ^])
),
] \ " ) ,
/*autre*/
gb_expr = gb_expr || evalinsert ( "\ [
Y (liste de graphes [^ i ^]),
] \ " ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
Éléments(
Position (1, 1),
Ligne (X, Y, Légende (27), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
Éléments(
Position (1, 2),
Ligne (X, Y, Légende (28), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
] \ " ) ;
pour ( je = 1 , je <= N articles ( liste de graphes ) Et je <= 3 , je ++,
gb_expr = gb_expr || evalinsert ( "\ [
Éléments(
Position (1, 2 + ^ i ^),
Ligne (X, Y, Légende (28 + ^ i ^), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
] \ " ) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
SendToReport (
Dispatch ({}, "titre du graphe", zone de texte, {définition du texte (liste de graphes [1]
] \ " ) ;
si ( N articles ( liste de graphes ) == 1 ,
gb_expr = gb_expr || evalinsert ( "\ [)});
)
] \ " ) ;
) ;
pour ( je = 2 , je <= N articles ( liste de graphes ) Et je <= 3 , je ++,
si ( je == N articles ( liste de graphes ) | je == 3 ,
gb_expr = gb_expr || evalinsert ( "\ [||", & "|| graphlist [^ i ^])});
)
] \ " ) ,
/*autre*/
gb_expr = gb_expr || evalinsert ( "\ [||", "|| graphlist [^ i ^]
] \ " ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
)
gb_rpt = report (gb);
gb_rpt [LegendBox (1)] << delete;
gb_rpt [PictureBox (1)] << Fenêtre Journal;
gb << fermer la fenêtre (nosave)
] \ " ) ;
eval ( analyser ( gb_expr )) ;
si ( N articles ( liste de graphes ) > 3 ,
gb_expr = evalinsert ( "\ [
gb = Générateur de graphes (
Variables (
X (: heure du test),
Y (colonne (tempcol)),
Y (colonne (vibcol)),
] \ " ) ;
pour ( je = 4 , je <= N articles ( liste de graphes ) , je ++,
si ( je == N articles ( liste de graphes ) ,
gb_expr = gb_expr || evalinsert ( "\ [
Y (liste de graphes [^ i ^])
),
] \ " ) ,
/*autre*/
gb_expr = gb_expr || evalinsert ( "\ [
Y (liste de graphes [^ i ^]),
] \ " ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
Éléments(
Position (1, 1),
Ligne (X, Y, Légende (27), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
Éléments(
Position (1, 2),
Ligne (X, Y, Légende (28), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
] \ " ) ;
pour ( je = 4 , je <= N articles ( liste de graphes ) , je ++,
gb_expr = gb_expr || evalinsert ( "\ [
Éléments(
Position (1, 2 + ^ i ^ -3),
Ligne (X, Y, Légende (28 + ^ i ^ -3), Ordre des lignes (0), Statistique sommaire ("Moyenne"))
),
] \ " ) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
SendToReport (
Dispatch ({}, "titre du graphe", zone de texte, {définition du texte (liste de graphes [4]
] \ " ) ;
si ( N articles ( liste de graphes ) == 4 ,
gb_expr = gb_expr || evalinsert ( "\ [)});
)
] \ " ) ;
) ;
pour ( je = 5 , je <= N articles ( liste de graphes ) , je ++,
si ( je == N articles ( liste de graphes ) ,
gb_expr = gb_expr || evalinsert ( "\ [||", & "|| graphlist [^ i ^])});
)
] \ " ) ,
/*autre*/
gb_expr = gb_expr || evalinsert ( "\ [||", "|| graphlist [^ i ^]
] \ " ) ;
) ;
) ;
gb_expr = gb_expr || evalinsert ( "\ [
)
gb_rpt = report (gb);
gb_rpt [LegendBox (1)] << delete;
gb_rpt [PictureBox (1)] << Fenêtre Journal;
gb << fermer la fenêtre (nosave)
] \ " ) ;
eval ( analyser ( gb_expr )) ;
) ,