Hi
I'm new to jsl but have a hard time understanding how it deals with variables. In the example below I define an LSL and alpha-value. It seems arbitrary to me, when jmp will use the defined variables and when it won't.
Can someone help explain this to a novice jsl user? Or provide a relevant reference. Thank you!
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
)
),
);
There remains inconsistencies in whether arguments can be variables or they must be literals. The Alpha() argument takes a literal argument. So you must substitute the value in the variable into the expression to make it literal.
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
)
);
Thank you for reporting this issue. JMP still has some inconsistencies regarding evaluation of JSL variables. However I can confirm that, in our next available release of JMP 16.1, the tolerance interval for Process capability will evaluate a variable for the alpha argument.