Modifiez dynamiquement les limites de spécification et mettez à jour les tracés en conséquenceVous trouverez ci-joint un exemple de tableau de données et un exemple de script que j'utilise et qui permet à l'utilisateur de modifier la colonne et de mettre à jour les tracés en conséquence. Je voudrais ajouter une zone d'affichage supplémentaire qui permet à l'utilisateur de modifier les limites de spécification de propriété de colonne et de mettre à jour les tracés. Ce serait quelque chose comme Process Capability Analysis << Interactive Capability Plot mais au lieu d'une barre de défilement, ce serait une boîte de dialogue d'édition numérique pour LSL, USL, Target.
J'espère que j'ai suffisamment expliqué ce que je cherchais.
Merci
Fusion et nettoyage des donnéesRe : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceJe suis heureux d'apprendre que vous utilisez le Guide de script et l'Index de script et le forum de discussion de manière aussi régulière.Cependant, ma suggestion que vous lisiez le Guide de script n'est pas une suggestion de simplement l'avoir à portée de main pour rechercher des éléments.Je trouve que c'est la colonne vertébrale de l'apprentissage du JSL, et en fait ce n'est pas un très bon manuel de référence.Ma suggestion est de lire littéralement le manuel d'avant en arrière.Il vous montrera le véritable fondement de JSL.Une fois que cette documentation est digérée, l'index de script devient votre outil de référence quotidien.
Encore une fois, félicitations pour votre utilisation de la documentation et j'espère que vous pourrez trouver le temps d'absorber le guide de script.
Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceMerci M. Nelson, cet extrait de code que vous avez fourni m'a permis de modifier la propriété de la colonne aux nouvelles limites ainsi que de revenir aux anciennes si nécessaire.
En ce qui concerne le commentaire du guide de script, je l'ai, l'index de script et les forums de discussion s'ouvrent tout le temps lorsque je code et parfois ce n'est pas très clair comment accomplir certaines tâches. Essayer de formuler ce que je veux dans quelque chose de consultable ne fonctionne pas toujours, ce qui me pousse, en dernier recours uniquement, à poser une question ici aux pros comme vous.
Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquence- Le forum de discussion communautaire ne vous fournira pas toujours un exemple précis de ce que vous voulez.Ce que vous devez faire, c'est lire le guide de script situé dans la bibliothèque de documentation JMP.Il vous donnera les détails de l'Environnement de Scripting, à partir duquel vous pourrez créer votre propre JSL sans avoir à vous fournir un exemple précis.
- Vous trouverez ci-joint une petite modification de votre script qui remplit les cases des limites de spécification.

Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceJe n'ai pas regardé tout ton code. Mais concernant ' Je n'arrive pas à trouver un moyen de remplir initialement la zone d'édition n'importe quel nombre avec les limites de spécification actuelles répertoriées dans la propriété de la colonne. ', cet ancien code pourrait aider :
// ian.cox@jmp.com: 02Jun2005
NamesDefaultToHere(1);
// ******************************************************************************************
// Given a column reference, returns the spec limits in a vector, [lower, upper, target]:
// If a limit is not defined it is returned as .
// ******************************************************************************************
getSpecs = Function({col}, {Default Local},
// Note that the number of arguments in slp below can change! It can be 0 (if the
// property is not even defined) or 1, 2 or 3
slp = col << GetProperty("Spec Limits");
// Assume that nothing is defined . . .
l = .; u = .; t = .;
// Find out what is defined . . .
for(i=1, i<=NArg(slp), i++,
thisExpr = Arg(slp, i);
sType = Char(Head(thisExpr));
if (
sType == "LSL", l = Arg(thisExpr, 1),
sType == "USL", u = Arg(thisExpr, 1),
sType == "Target", t = Arg(thisExpr, 1)
)
);
Matrix({l, u, t})
);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
someSpecs = getSpecs(Column(dt, "NPN1"));
nw =
NewWindow("Edit Spec Limits",
lsBox = TextEditBox(someSpecs[1]),
usBox = TextEditBox(someSpecs[2]),
tarBox = TextEditBox(someSpecs[3])
);Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceMerci! J'ai cherché dans ces forums et je n'arrive pas à trouver un moyen de remplir initialement la zone d'édition n'importe quel nombre avec les limites de spécification actuelles répertoriées dans la propriété de la colonne.
Si vous exécutez le nouveau script joint, vous verrez que la zone d'édition de texte "Test" se remplit automatiquement avec la colonne actuelle sélectionnée pour la distribution. Lorsque cela se produit, j'aimerais que le script puisse récupérer les limites de spécification actuelles et remplir la LSL, la cible, l'USL (le cas échéant). Je peux alors être en mesure de mettre de nouvelles limites de spécifications, puis d'appuyer sur le bouton "Charger de nouvelles limites de spécifications", puis la propriété de colonne "Limites de spécifications" serait mise à jour avec les nouveaux chiffres. J'aimerais également pouvoir stocker les anciennes limites de spécifications, puis, une fois terminées, les réaffecter à la colonne.
Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceCette section est le JSL qui produit la sortie Distribution. Ce n'est donc pas là qu'il faut ajouter les nouvelles cases. La section à laquelle je faisais référence est la section qui définit la zone de contour pour le test RF.Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceC'était le plan, mais je voudrais que la boîte soit mise à jour avec le "^ ycols_Test ^" actuel et que le nombre de boîtes d'édition soit mis à jour avec la propriété de colonne Spec Limits. Dois-je ajouter les nouvelles boîtes à l'intérieur du "\[gb_expr_Test[^i^] ou devrais-je en créer une nouvelle pour contenir les boîtes ?
Re : Modifier dynamiquement les limites des spécifications et mettre à jour les tracés en conséquenceVous devriez probablement simplement ajouter une deuxième zone de contour sous la zone de contour du test RF, avec les zones d'édition de nombre pour USL, Target et LSL. Étant donné que vous modifiez peut-être 3 valeurs différentes, j'ajouterais probablement une boîte à boutons sur laquelle il faut cliquer pour mettre à jour le graphique.