définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracésalut
J'ai un script qui attribue des limites de spécification (USL/LSL) à la propriété des colonnes, puis crée un tracé de la colonne, et j'attends
pour voir les lignes de limites tracées sur le tracé. Ce qui se passe, c'est que les limites sont définies correctement dans le tableau, mais ne sont pas visibles sur le tracé.
Si je dessine manuellement le même tracé dans cette colonne après avoir exécuté le script - plus aucune ligne.
Si j'ouvre la fenêtre de propriété de spécification de colonne, je vois les limites, la "ligne de référence d'affichage" est activée.
seulement si je clique sur "Appliquer", puis que je trace à nouveau - je peux voir les lignes sur le tracé comme prévu. Mais je n'arrive pas à le faire fonctionner par script..
une idée?
(avec JMP PRO 15)


Tableau de donnéesGraphiqueScriptles fenêtresRe : définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracésalut @shlomi_bakish ,
Pouvez-vous fournir un exemple de votre code JSL ? Cela pourrait aider à diagnostiquer le problème que vous rencontrez. En attendant, cette partie de code est un exemple de la façon dont vous pouvez définir les limites de spécification pour les colonnes et vous assurer qu'elles sont activées pour la représentation graphique.
//Turn on spec lines for graphs
dt = Current Data Table( ); //just a way of setting the current data table to the variable dt
<BR />dt_ColNames = dt << Get Column Names( string ); //Gets the column names from the data table
<BR />For( i = 1, i <= N Items( dt_ColNames ), i++,<BR />
spec = Column( dt, dt_ColNames[i] ) << Get Property( "Spec Limits" ); //This gets the Boolean spec property of each column
<BR />//now, for each column perform the task of assigning the spec limits<BR /> If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, dt_ColNames[i] ) << Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);//This whole Eval() is wrapping a Substitution(), which wraps an expression Expr(). <BR /> //The variables that will be substituted are __LSL__ and so on. The Show Limits (1) checks the box to turn on the limits as reference lines.
);
);Cela devrait vous aider à aller dans la bonne direction. Mais, sans voir votre code et comprendre ce que vous faites, il est difficile d'être plus précis pour répondre à votre besoin exact.
J'espère que cela t'aides!,
DS
Re : définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracéMerci pour la réponse rapide ! J'ai supposé que le code n'était pas vraiment pertinent, car il réglait correctement les limites de spécification dans les propriétés de la colonne.
il définit LSL et USL et affiche les limites (1), mais le tracé ne les affiche pas même s'ils sont définis correctement.
Même si j'utilise un code simple avec des nombres fixes, il se comporte de la même manière.
Column(DATA_DT,param) << Set Property( "Spec Limits", LSL( 0.31 ),USL(0.34),Show Limits(1) );

Ce n'est qu'après avoir cliqué sur "appliquer" et dessiné à nouveau le graphique - il affiche les lignes.
Re : définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracéLa syntaxe semble être légèrement décalée, vous devez ajouter {} après Spec Limits. Voir le script ci-dessous, le poids ne fonctionnera pas sans appuyer sur Appliquer et la hauteur le fera.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "weight") << Set Property("Spec Limits", LSL(50), USL(150), Show Limits(1));
Column(dt, "height") << Set Property("Spec Limits", {LSL(50), USL(100), Show Limits(1)});
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(4)), Smoother(X, Y, Legend(5)))
);Re : définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracéIl semble que vous appliquiez les limites après l'affichage initial du graphique.Les limites sont tracées lors de l'affichage initial du graphique, et si des limites sont ajoutées après ce point, le graphique devra être redessiné pour qu'elles s'affichent.
Re : définition de la limite de spécification à la propriété de la colonne par JSL - lignes non affichées sur le tracéMerci ! en effet l'ajout des accolades a résolu le problème 
Pouvez-vous expliquer pourquoi