cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
peter_t
Level I

JMP stability test report not showing both specification limits

Hello

I have a response with two sided specification limits entered as Spec Limits in Column Properties, and tick mark in "Show as Graph Reference Lines". When I make a Reliability and Survival->Degradation->Stability analysis, I get an earliest crossing time of 13.99, were USL is crossed. However, USL is not shown in the overlay plot - only LSL is shown.

peter_t_2-1609763904944.png

I would like to see both specification limits in the overlay plot like in the figure below (where I have manually changed the y-axis)

peter_t_3-1609764003508.png

Do you have a trick, where I can force JMP to display both spec limits in the graph? I am using the graph in a script, where I loop through a lot of parameters, so I prefer to avoid changing the y-axis manually.

Data and script is attached. I am using JMP 15.0.

 

Thanks,

Peter

 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: JMP stability test report not showing both specification limits

Very close to txnelson's solution:

 

Names Default To Here(1);
dt = Current Data Table();
deg = Degradation(
	Y(:result),
	Time(:Name("Timepoint (M)")),
	Label(:Batch),
	Application(Stability Test),
	Connect Data Markers(1),
	Show Fitted Lines(1),
	Show Spec Limits(1),
	Show Median Curves(0),
	Show Legend(1),
	No Tab List(0),
	Set Upper Spec Limit(5.5),
	Set Lower Spec Limit(4.5),
	Set Censoring Time(.),
	Show Residual Plot(0),
	Show Inverse Prediction Plot(0),
	Show Curve Interval(1),
	Inverse Prediction Interval(Confidence Interval),
	Inverse Prediction Alpha(0.025),
	Inverse Prediction Side(Lower One Sided),
	SendToReport(Dispatch({}, "Reports", OutlineBox, {Close(1)}))
);

//get upper spec limits from result column column properties
uslValue = (Column(dt, "result") << Get Property("Spec Limits"))["USL"];
//scaling to make limit visible
uslScaleFactor = 1.01;
//Degradation as report
rep = deg << Report;
//access y-axis
reportYAxis = rep[axisbox(1)];
//current max value
currentYMax = reportYAxis << Get Max;
//set as max of either old max or USL
reportYAxis << Max(Max(currentYMax, uslValue*uslScaleFactor));
-Jarmo

View solution in original post

5 REPLIES 5
txnelson
Super User

Re: JMP stability test report not showing both specification limits

Here is how I handle such items

stab.PNG

names default to here(1);
dt = current data table();

deg = dt << Degradation(
	Y( :result ),
	Time( :Name( "Timepoint (M)" ) ),
	Label( :Batch ),
	Application( Stability Test ),
	Connect Data Markers( 1 ),
	Show Fitted Lines( 1 ),
	Show Spec Limits( 1 ),
	Show Median Curves( 0 ),
	Show Legend( 1 ),
	No Tab List( 0 ),
	Set Upper Spec Limit( 5.5 ),
	Set Lower Spec Limit( 4.5 ),
	Set Censoring Time( . ),
	Show Residual Plot( 0 ),
	Show Inverse Prediction Plot( 0 ),
	Show Curve Interval( 1 ),
	Inverse Prediction Interval( Confidence Interval ),
	Inverse Prediction Alpha( 0.025 ),
	Inverse Prediction Side( Lower One Sided ),
	SendToReport( Dispatch( {}, "Reports", OutlineBox, {Close( 1 )} ) )
);
specs = dt:result << get property("spec limits");
degr = deg << report;

if(degr[AxisBox(1)]<<get max < specs["USL"], degr[AxisBox(1)]<<max(specs["USL"] +
	.01 * abs(degr[AxisBox(1)]<<get max - degr[AxisBox(1)]<<get min ))
);
Jim
jthi
Super User

Re: JMP stability test report not showing both specification limits

Very close to txnelson's solution:

 

Names Default To Here(1);
dt = Current Data Table();
deg = Degradation(
	Y(:result),
	Time(:Name("Timepoint (M)")),
	Label(:Batch),
	Application(Stability Test),
	Connect Data Markers(1),
	Show Fitted Lines(1),
	Show Spec Limits(1),
	Show Median Curves(0),
	Show Legend(1),
	No Tab List(0),
	Set Upper Spec Limit(5.5),
	Set Lower Spec Limit(4.5),
	Set Censoring Time(.),
	Show Residual Plot(0),
	Show Inverse Prediction Plot(0),
	Show Curve Interval(1),
	Inverse Prediction Interval(Confidence Interval),
	Inverse Prediction Alpha(0.025),
	Inverse Prediction Side(Lower One Sided),
	SendToReport(Dispatch({}, "Reports", OutlineBox, {Close(1)}))
);

//get upper spec limits from result column column properties
uslValue = (Column(dt, "result") << Get Property("Spec Limits"))["USL"];
//scaling to make limit visible
uslScaleFactor = 1.01;
//Degradation as report
rep = deg << Report;
//access y-axis
reportYAxis = rep[axisbox(1)];
//current max value
currentYMax = reportYAxis << Get Max;
//set as max of either old max or USL
reportYAxis << Max(Max(currentYMax, uslValue*uslScaleFactor));
-Jarmo
peter_t
Level I

Re: JMP stability test report not showing both specification limits

Thanks. Great work around. Works perfectly in my script. 

Peter

peng_liu
Staff

Re: JMP stability test report not showing both specification limits

This looks like a bug. Please contact JMP Technical Support at support@jmp.com

Meanwhile, a workaround is to use JSL to adjust the axis, if it is acceptable in your workflow.

Look at the following codes. Towards the end, is one way to adjust the axis, by hard coding the range of the axis. There are at least two other ways but gradually getting complicated. If this approach does not work for your workflow, please explain. And we will see what might work.

 

Degradation(
	Y( :result ),
	Time( :Name("Timepoint (M)") ),
	Label( :Batch ),
	Application( Stability Test ),
	Connect Data Markers( 1 ),
	Show Fitted Lines( 1 ),
	Show Spec Limits( 1 ),
	Show Median Curves( 0 ),
	Show Legend( 1 ),
	No Tab List( 0 ),
	Set Upper Spec Limit( 5.5 ),
	Set Lower Spec Limit( 4.5 ),
	Set Censoring Time( . ),
	Show Residual Plot( 0 ),
	Show Inverse Prediction Plot( 0 ),
	Show Curve Interval( 1 ),
	Inverse Prediction Interval( Confidence Interval ),
	Inverse Prediction Alpha( 0.025 ),
	Inverse Prediction Side( Lower One Sided ),
	SendToReport(
		Dispatch( {}, "Reports", OutlineBox, {Close( 1 )} ),
		Dispatch(
			{"Overlay"},
			"2",
			ScaleBox,
			{Min( 4 ), Max( 6 ), Inc( 0.2 ), Minor Ticks( 1 )}
		)
	)
)
Jeff_Perkinson
Community Manager Community Manager

Re: JMP stability test report not showing both specification limits

Hi @peter_t,

 

Thanks for stopping by the Meet the Developers session at Discovery Summit Europe 2021 Online. It was nice to meet you.

 

I've reported the problem you've shown here as a bug and we hope we can address it in a future release. 

-Jeff