- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Questions about control charts
Hello,
I hope you are doing well.
I have two questions about the the Jmp script (JSL):
- How can I get control chart with only 1 control limit (upper or lower)? If I define only one control limit, the other is still computed using the data.
- Is there any way to show on the control chart the index of the points that break a Nelson rule (see screenshot below, the two points out of control limit are associated with their index)
Jean
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
If you click on Help->Scripting Index, you can search for Show Lower Limit in the Filter box. That will give you the following JSL example.
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Quality Control/Coating.jmp"
);
obj = dt <<
Control Chart Builder(
Variables( Subgroup( :Sample ), Y( :Weight ) ),
Chart(
Position( 1 ),
Limits( Show Lower Limit( 0 ) )
)
);
You can read more about how to use the row label command in the documentation here: Label Rows and Columns (jmp.com)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
JMP has more than one way to make a control chart. Could you please share which menu option you are using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
I use these lines of code in my script (in a draft state):
dt << Control Chart Builder(
Size( 534, 464 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Capability( 1 ),
Variables(
Subgroup( :column(Sample) ),
Y( :column(Variable) ),
Phase( :column(Period) )
),
Chart(
Points( Statistic( "Individual" ) ),
Add Spec Limits( {LSL( LSL_def ), USL( USL_def )} ),
Set Control Limits( {LCL( LCL_def ), UCL( UCL_def ), Avg( Avg )} ),
Warnings( Test 1( 1 ), Test 2( 1 ), Test 3( 1 ) )
),
SendToReport(
Dispatch(
{},
CQA,
ScaleBox,
{Min( Min(LCL_def, LSL_def)-1 ), Max( Max(UCL_def, USL_def)+1 ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( LSL_def, "Solid", "Blue", "LSL="||char(LSL_def), 2 ),
Add Ref Line( USL_def, "Solid", "Blue", "USL="||char(USL_def), 2 ),
Add Ref Line( LCL_def, "Solid", "Red", "LCL="||char(LCL_def), 1 ),
Add Ref Line( UCL_def, "Solid", "Red", "UCL="||char(UCL_def), 1 ),
Add Ref Line( Avg, "", "Green", "UCL="||char(Avg), 1 )
}
),
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{DispatchSeg(
TextSeg( 3 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 4 ),
{Line Color( "None" ), Fill Color( "None" )}
)}
)
)
);
Thank you very much!
Jean
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
To show only the upper limit, use the following command
Show Lower Limit( 0 )
To show only the lower limit, use the following command
Show Upper Limit( 0 )
To display the subgroup for the tests that violate the nelson rules, you have several options, you can hover over the points that violate the tests and when the hover label appears, you can pin the hover label.
Or you could add the label role to the sample column in the data table and then use the row label command.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
Tank you very much for your answer.
Where in the code can I add:
Show Lower Limit( 0 )
And how can I use the "row label command" ?
Thank you very much !
Jean
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
If you click on Help->Scripting Index, you can search for Show Lower Limit in the Filter box. That will give you the following JSL example.
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Quality Control/Coating.jmp"
);
obj = dt <<
Control Chart Builder(
Variables( Subgroup( :Sample ), Y( :Weight ) ),
Chart(
Position( 1 ),
Limits( Show Lower Limit( 0 ) )
)
);
You can read more about how to use the row label command in the documentation here: Label Rows and Columns (jmp.com)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
A last question, last question. I often have this type of error :
My Period column is made of "Previous", "Current" and "Next" elements.
How can I fix this error ?
Thank you very much !
Jean
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Questions about control charts
Typically this issue is encountered when there is a column and a JSL variable with the same name. While possible, it just means that you have to be specific in the code. So be sure you are using proper scoping so that JMP understands whether you meant the JSL variable or the column.