Salut,
J'ai besoin d'aide pour créer un script dans lequel aucune limite de contrôle de phase ne doit être appliquée au premier paramètre/graphique , tandis que les paramètres/graphiques restants ont des limites de contrôle fixes définies dans le même script.
J'utilise actuellement la structure suivante :
<SPAN>Définir les limites de contrôle( { {LCL(.), Moy(.), UCL(.)}, {LCL(1060.2), Moy(1405.3), UCL(1745.1)}, {LCL(12.3), Moy(14.1), UCL(15.8)}, {LCL(16), Moy(22), UCL(28)} } ),</SPAN>
Le problème est que JMP affiche systématiquement une boîte de dialogue demandant les limites du premier graphique. Je dois cliquer sur D'ACCORD ou Annuler pour que le script continue. Après avoir fermé la boîte de dialogue, le premier graphique n'affiche correctement aucune limite de contrôle fixe , et les trois autres graphiques utilisent les limites fournies ; or, je souhaite empêcher l'affichage de cette boîte de dialogue .
Votre premier graphique (ou colonne) comporte-t-il également des limites fixes dans ses propriétés, que vous souhaitez simplement supprimer ? Ou bien avez-vous un script qui impose des limites fixes, et vous souhaitez uniquement en exclure un graphique ?
Certaines options de script partent du principe que les limites fixes sont définies dans le script.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
// let JMP set them initially, using hidden not avoid display limit changes
ccb = dt << Control Chart Builder(
Variables(Subgroup(:Sample), Y(:Weight)),
Chart(Position(1), Points(Statistic("Average")), Limits(Sigma("Moving Range"))),
Chart(Position(2), Points(Statistic("Moving Range on Means")), Limits(Sigma("Moving Range"))),
Chart(Position(3), Points(Statistic("Range")), Limits(Sigma("Range"))),
Chart(Position(4), Points(Statistic("Range")), Limits(Sigma("Range"))),
Show Control Panel(0),
Invisible
);
// don't set them to first chart at all and let JMP do it
// I would use a list of limits and for-loop to set rest of the limits, but you could just copy paste this multiple times
ccb << Chart(Position(2), Set Control Limits({LCL(1), Avg(3), UCL(6)}));
ccb << Chart(Position(3), Set Control Limits({LCL(2), Avg(4), UCL(7)}));
ccb << Chart(Position(4), Set Control Limits({LCL(3), Avg(5), UCL(8)}));
// Show the report again
wait(0);
ccb << show window(1);
Il existe de nombreuses options pour une gestion plus simple des limites, mais en voici une utilisant une liste de listes (on pourrait également utiliser une table de données, un tableau associatif, etc.).
Names Default To Here(1);
CC_LIMITS = {
{LCL(1), Avg(3), UCL(6)},
{LCL(2), Avg(4), UCL(7)},
{LCL(3), Avg(5), UCL(8)}
};
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
ccb = dt << Control Chart Builder(
Variables(Subgroup(:Sample), Y(:Weight)),
Chart(Position(1), Points(Statistic("Average")), Limits(Sigma("Moving Range"))),
Chart(Position(2), Points(Statistic("Moving Range on Means")), Limits(Sigma("Moving Range"))),
Chart(Position(3), Points(Statistic("Range")), Limits(Sigma("Range"))),
Chart(Position(4), Points(Statistic("Range")), Limits(Sigma("Range"))),
Show Control Panel(0),
Invisible
);
For(i = 2, i <= N Items(CC_LIMITS) + 1, i++,
Eval(EvalExpr(
ccb << Chart(Position(i), Set Control Limits(Expr(CC_LIMITS[i-1])));
));
);
wait(0);
ccb << show window(1);