- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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.
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)
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
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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));
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: JMP stability test report not showing both specification limits
Here is how I handle such items
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 ))
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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));
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: JMP stability test report not showing both specification limits
Thanks. Great work around. Works perfectly in my script.
Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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 )}
)
)
)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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.