Utilisation de variables dans JSLSalut
Je suis nouveau sur jsl mais j'ai du mal à comprendre comment il traite les variables. Dans l'exemple ci-dessous, je définis un LSL et une valeur alpha. Cela me semble arbitraire, quand jmp utilisera les variables définies et quand il ne le fera pas.
- Il n'a aucun problème à utiliser myLSL dans Process Capability
- Il n'utilisera pas myAlpha sous l'intervalle de tolérance. Au lieu de cela, il utilisera la valeur par défaut (mais ne lancera pas d'erreur indiquant par exemple que la variable est inconnue). Si je mets une valeur directement, cela fonctionne, mais je veux pouvoir définir une variable que je peux ensuite référencer tout au long du script.
Quelqu'un peut-il aider à expliquer cela à un utilisateur novice de jsl? Ou fournissez une référence pertinente. Merci!
myLSL = 2.1; myAlpha = 0.8;
// Distribution and Tolerance Interval
Current Data Table(dt);
Distribution(
Continuous Distribution(
Column("ColumnName"),
Fit Distribution( Normal( Spec Limits( LSL( myLSL ) ) ) ),
Process Capability( LSL( myLSL ), Target( . ), USL( . ) ),
Tolerance Interval(
Alpha( myAlpha ),
Proportion( 0.90 ),
Lower,
Parametric Normal
)
),
);
Re : Utiliser des variables dans JSLMerci d'avoir signalé ce problème. JMP présente encore quelques incohérences concernant l'évaluation des variables JSL. Cependant, je peux confirmer que, dans notre prochaine version disponible de JMP 16.1, l'intervalle de tolérance pour la capacité de processus évaluera une variable pour l'argument alpha.
Re : Utiliser des variables dans JSL@Audrey_Shul
Re : Utiliser des variables dans JSLIl reste des incohérences quant à savoir si les arguments peuvent être des variables ou s'ils doivent être des littéraux. L'argument Alpha() prend un argument littéral. Vous devez donc substituer la valeur de la variable dans l'expression pour la rendre littérale.
Names Default to Here( 1 );
// example data set
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myLSL = 50; myAlpha = 0.8;
// Distribution and Tolerance Interval
dist = dt << Distribution(
Continuous Distribution(
Column( :height ),
Fit Normal( Process Capability( LSL( myLSL ), Target( . ), USL( . ) ) )
)
);
Eval(
Substitute(
Expr(
dist << Tolerance Interval(
Alpha( aaa ),
Proportion( 0.9 ),
Lower,
Parametric Normal
) ),
Expr( aaa ), myAlpha
)
);