Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ai besoin de publier quotidiennement des moniteurs de produit à partir des données de mesure de Final Tester.
De nombreux paramètres sont mesurés sur plusieurs produits.
J'ai réussi à configurer les moniteurs sous une forme qui répond à mes besoins, mais la plupart d'entre eux se perdent lorsqu'ils sont enregistrés au format HTML interactif.
Vous trouverez ci-dessous quelques captures d'écran du problème (limitées à un paramètre) :
Lorsque je configure manuellement les cartes de contrôle, j'obtiens les cartes suivantes.
Ce sont comme prévu et exactement ce dont j'ai besoin. 3 produits, 1 paramètre.

Lorsque j'enregistre ensuite ces graphiques au format HTML interactif à l'aide des menus déroulants, j'obtiens une mise en page à peu près la même que ci-dessus.
Encore 3 produits et 1 paramètre
Jusqu'ici tout va bien.....

Cependant, lorsque j'essaie de scripter ce processus en utilisant:
Définir le répertoire par défaut ( "C:\TEMP" ) ;
Obtenir le répertoire par défaut () ; // retourne "c:/temp"
CD = obtenir le répertoire par défaut () ;
obj = Carte de contrôle (
SendToByGroup ( { : Produit == "AaA" } ) ,
Échantillon d'étiquette ( : Tranche ) ,
Taille de groupe ( 1 ) ,
KSigmaGenericName ( 3 ) ,
Col du graphique ( : Moy. de A_PRIM , Mesure individuelle ) ,
Par ( : Produit ) ,
{ : Produit == "AaA" } ,
{ « Produit graphique de contrôle = AaA » ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ,
{ Taille du cadre ( 313 , 100 )}
) ,
{ « Produit graphique de contrôle = AaA » ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ( 2 ) ,
{ Taille du cadre ( 313 , 100 )}
) ,
{ : Produit == "BbB" } ,
{ "Produit graphique de contrôle=BbB" ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ,
{ Taille du cadre ( 313 , 100 )}
) ,
{ "Produit graphique de contrôle=BbB" ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ( 2 ) ,
{ Taille du cadre ( 313 , 100 )}
) ,
{ : Produit == "Ccc" } ,
{ "Produit graphique de contrôle=CcC" ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ,
{ Taille du cadre ( 313 , 100 )}
) ,
{ "Produit graphique de contrôle=CcC" ,
"Mesure individuelle de la moyenne de A_PRIM" } ,
"Carte IR de IM" ,
FrameBox ( 2 ) ,
{ Taille du cadre ( 313 , 100 )}
) ;
obj << Enregistrer le HTML interactif ( "Product Probe Monitortest.html" ) ;
Ouvert ( "Product Probe Monitortest.html" ) ;
Je reçois:
1 seul produit et 1 paramètre.

Comme on peut le voir, les produits 'AaA' et 'BbB' manquent.
Comment dois-je modifier le script pour les inclure ?
En pratique, je configurerai ces moniteurs pour des dizaines de produits, chacun ayant de 50 à 200 paramètres de test, donc tout conseil ici serait très apprécié.
Merci beaucoup,
Philippe
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?Salut msharp,
Merci pour la confirmation de la solution proposée par melaniedrake et aussi pour avoir proposé une solution alternative que je vais également évaluer.
Meilleures salutations,
Philippe
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?Salut melaniedrake,
Merci pour la solution et en particulier d'avoir signalé l'erreur dans mon code.
J'ai fait les modifications que vous suggérez et cela fonctionne très bien.
Cela aide beaucoup.
Cordialement,
Philippe
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?melaniedrake a raison.Pour un meilleur contrôle, vous pouvez utiliser le format 'Nouvelle fenêtre("titre") <
// Script de test pour automatiser la surveillance du test final du nouveau produit
Définir le répertoire par défaut("C:\TEMP"); // Utiliser C:TEMP pendant la phase de test uniquement
Obtenir le répertoire par défaut();
cd=obtenir le répertoire par défaut();
dt = open("Split Data.jmp");
colonne(1) << étiquette(1);
colonne(3) << étiquette(1);
colonne(5) << étiquette(1);
colonne(6) << étiquette(1);
dt = table de données actuelle();
theWindow = Nouvelle fenêtre("Cartes de contrôle");
theWindow << Append(obj = Control Chart(
Échantillon d'étiquette( :DISCNR ),
Taille du groupe( 1 ),
KSigma( 3 ),
Graphique Col( :Moy. de A_PRIM, Mesure individuelle ),
Par( :SENSORTYPENR )
));
theWindow <
// attend(0);
Ouvrir("Probe_Monitor.html" );
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?Si vous regardez ce que contient obj, il contient une liste de cartes de contrôle (les trois cartes de contrôle de votre exemple) : {Control Chart[], Control Chart[], Control Chart[]}
Lorsque vous envoyez un message (comme Save Interactive HTML) à une liste, le message est envoyé tour à tour à chaque membre de la liste. Donc, ce qui se passe ici, c'est qu'il enregistre d'abord une page html avec la première carte de contrôle, puis il enregistre une deuxième page html avec le même nom qui contient la deuxième carte de contrôle, puis il enregistre une troisième page html avec le même nom qui contient la troisième carte de contrôle. Le résultat final est une page html qui ne contient que la troisième carte de contrôle.
La solution consiste à envoyer le message Save Interactive HTML à un seul conteneur plus haut dans l'arborescence qui contient toutes les cartes de contrôle.
Pour cela, remplacez cette ligne dans votre code :
obj <
Avec ces deux lignes :
tp = obj[1] << topparent();
tp <
HTH
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?Salut msharp,
Merci pour votre avis.
Comme vous pouvez le voir, je ne suis pas un expert en scripts et j'apprécie votre contribution.
Veuillez voir ci-dessous le code utilisé :
Définir le répertoire par défaut ( "C:\TEMP" ) ; // Utiliser C:TEMP pendant la phase de test uniquement
Obtenir le répertoire par défaut () ;
CD = obtenir le répertoire par défaut () ;
dt = ouvert ( "Split Data.jmp" ) ;
colonne ( 1 ) << étiquette ( 1 ) ;
colonne ( 3 ) << étiquette ( 1 ) ;
colonne ( 5 ) << étiquette ( 1 ) ;
colonne ( 6 ) << étiquette ( 1 ) ;
dt = Tableau de données actuel () ;
obj = Carte de contrôle (
Échantillon d'étiquette ( : DISCNR ) ,
Taille de groupe ( 1 ) ,
KSigmaGenericName ( 3 ) ,
Col du graphique ( : Moy. de A_PRIM , Mesure individuelle ) ,
Par ( : TYPE CAPTEUR )
) ;
obj << Enregistrer le HTML interactif ( "Probe_Monitor.html" ) ;
Ouvert ( "Probe_Monitor.html" ) ;
Veuillez trouver ci-joint le tableau de données et le script
- Philippe
Re : Pourquoi est-ce que je perds des graphiques lors de l'enregistrement au format HTML interactif ?Cela ne peut pas être votre code.Il est cassé comme posté.Par exemple, obj = ( .. ) n'englobe que les informations sur les produits AaA, et d'une manière ou d'une autre, vous n'obtenez que des informations sur les produits CcC dans votre code HTML ?Il y a un ")" supplémentaire à la fin.Ensuite, il n'y a pas d'ensemble de données.
Veuillez publier le code de travail en utilisant un exemple d'ensemble de données. Par exemple; dt = open("$Sample_Data\Big Class.jmp").Ou joignez l'exemple d'ensemble de données que vous utilisez ci-dessus.Il est difficile de résoudre votre problème spécifique lorsqu'il y a une foule d'autres problèmes qui doivent être traités en premier.