- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Creating Spec limits
Hi,
I'm trying to create spec limits using jmp interface or jsl. I'm trying to create the spec limit for different columns with no USL or LSL.. Please help. thank.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Spec Limits are not normally calculated limits. They are set based on the design specifications or on the tool limitations, etc.
However, here is a simple script that will set the spec limits for all continuous columns in a data table using 3 sigma limits
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( string, continuous );
For Each( {col}, colNames,
theMean = Col Mean( As Column( dt, col ) );
theSTD = Col Std Dev( As Column( dt, col ) );
Eval(
Substitute(
Expr(
Column( dt, col ) << set property(
"Spec Limits",
{LSL( _LSL_ ), Target( _Target_ ), USL( _USL_ ), Show Limits( 1 )}
)
),
Expr( _LSL_ ), theMean - 3 * theSTD,
Expr( _Target_ ), theMean,
Expr( _USL_ ), theMean + 3 * theSTD
)
);
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Have you looking into the Limits Manager?
Analyze=>Quality and Process=>Limits Manager
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Hi Jim,
I have looked at it, but from what I see this tool is to accept limit and apply it to column. What I'm trying to do is to make just calculate a USL or LSL based on a sigma, and a mean that I provide. Or if there is a tool where I specific what I want the sigma to be for that column and then JMP generates the spec limits. Have you been across something like this ? thanks Jim.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Spec Limits are not normally calculated limits. They are set based on the design specifications or on the tool limitations, etc.
However, here is a simple script that will set the spec limits for all continuous columns in a data table using 3 sigma limits
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( string, continuous );
For Each( {col}, colNames,
theMean = Col Mean( As Column( dt, col ) );
theSTD = Col Std Dev( As Column( dt, col ) );
Eval(
Substitute(
Expr(
Column( dt, col ) << set property(
"Spec Limits",
{LSL( _LSL_ ), Target( _Target_ ), USL( _USL_ ), Show Limits( 1 )}
)
),
Expr( _LSL_ ), theMean - 3 * theSTD,
Expr( _Target_ ), theMean,
Expr( _USL_ ), theMean + 3 * theSTD
)
);
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
is it possible to setup different spec limit for different step w/o splitting all steps into each column?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Currently, only one set of spec limits are allowed per column.
However, using JSL, multiple spec limits can be woven into a script that can loop through a data table pulling out each subgroup one at a time, applying the spec limits for the subset and then running the analysis. Here is a simple example.
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtLimits = New Table( "Limits",
New Column( "Group", character, values( {"F", "M"} ) ),
New Column( "USL", values( {66, 70} ) ),
New Column( "Target", values( {61, 64} ) ),
New Column( "LSL", values( {52, 51} ) )
);
groups = Associative Array( dt:sex ) << get keys;
nw = New Window( "Distributions", hlb = H List Box() );
For Each( {level}, groups,
dt << select where( :sex == level );
dtSub = dt << subset( selected columns( 0 ), selecte rows( 1 ), output table( level ), invisible );
theRow = (dtLimits << get rows where( :group == level ))[1];
Eval(
Eval Expr(
dtSub:height << set property(
"spec limits",
{LSL( Expr( dtLimits:LSL[theRow] ) ), USL( Expr( dtLimits:USL[theRow] ) ),
Target( Expr( dtLimits:Target[theRow] ) ), Show Limits( 1 )}
)
)
);
hlb << append(
dis = dtSub << Distribution( Continuous Distribution( Column( :height ), Process Capability( 0 ) ) );
Report( dis )[Outline Box( 2 )] << set title( "Height=" || level )
;
);
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating Spec limits
Certainly! To create spec limits in JMP using JSL, open your data table, choose the desired column, and use the Distribution platform with the Spec Limits option to set your limits.