First, heed @statman words.
Second, JMP does not have a builtin option for drawing such lines in Control Chart Builder, however, JMP does have the ability to modify the graphic output using JSL. Below is a sample output and below that, the fairly simple script that modifies the chart.
names default to here(1);
dt=open("$SAMPLE_DATA\Quality Control\coating.jmp");
cc = dt << Control Chart Builder(
Show Control Panel( 0 ),
Show Capability( 0 ),
Variables( Subgroup( :Sample ), Y( :Weight ) ),
SendToReport(
Dispatch(
{},
"Weight",
ScaleBox,
{Format( "Best", 10 ), Min( 16.9881233437177 ), Max( 24.2481694370065 ),
Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{DispatchSeg( Line Seg( 3 ), {Line Color( "White" )} ),
DispatchSeg( Line Seg( 4 ), {Line Color( "White" )} )}
)
)
);
Report( cc )[FrameBox( 1 )] << add graphics script(
yMat = dt:weight << get values;
xMat = dt:sample << get values;
{Estimates, Std_Error, Diagnostics} = Linear Regression( yMat, xMat );
sigma = ((Report( cc )["Weight Limit Summaries"][Number Col Box( 3 )] << get)[1] -
(Report( cc )["Weight Limit Summaries"][Number Col Box( 1 )] << get)[1]) / 2;
Pen Color( "red" );
Pen Size( 2 );
line style( "Dashed" );
List1 = {};
List1[1] = col minimum(:sample);
List1[2] = sigma + estimates[1] + Estimates[2] * mean(:sample[dt<<get rows where(:sample == col minimum(:sample))]);
List2 = {};
List2[1] = col Maximum(:Sample);
List2[2] = sigma + estimates[1] + Estimates[2] * mean(:sample[dt<<get rows where(:sample == col maximum(:sample))]);
Line(list1,list2);
List1[2] = List1[2] - 2 * sigma;
List2[2] = List2[2] - 2 * sigma;
Line(list1,list2)
)
Jim