cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
RSDK_JMP
Level I

Scripting Guage R&R with tolerance Intervals

Hi,

 

I am a new user to JMP and JSL scripting. I am trying to script a guage R&R and would like to include the tolerance interval in the script. 

 

I already have a column (Named "Tolerance Interval") with tolerance intervals for each of my parameters. (Note that I am splitting the analysis by Parameter and each Parameter has a different tolerance interval). The script I have tried is below. It will create the variability chart however I still need to input each individual tolerance interval  (which there are many), via the pop up specification screen. Any tips on how I can script this to avoid manual input would be greatly appreciated

 

 

dt = Current Data Table();

dt << vc = Variability Chart(
    SendToByGroup( Bygroup Default ),
    Y( :VALUE ),
    X( :Operator, :CAVITY NO ),
    By( :PARAMETER ID ),
    Model( "Nested" ),
    Historical Sigma( 0 ),
    Name( "Guage R&R" )(6, :Tolerance Interval, 0, 0),
    Name( "Gauge R&R Report" )(1);
);

 

3 REPLIES 3
jthi
Super User

Re: Scripting Guage R&R with tolerance Intervals

There seems to be multiple answers in community on how to do it on split data (each parameter on its own column).

 

I'm not sure if it can be done when using By() option (I tried it and seemed to work only on first one, most likely due to Historical Sigma(0) option). You might have to split the datatable by PARAMETER ID first, create variable/table for tolerances and script those together for Gage R&R. 

 

One example:

Gauge R&R Report into a data table 

 

My failed attempt as attachment.

-Jarmo
txnelson
Super User

Re: Scripting Guage R&R with tolerance Intervals

It appears that you have stacked all of your parameters in order to take advantage of using a By() clause, and therefore to get all of them analyzed with efficient coding.  I think it would be a better approach to set up you parameters as separate columns with the Spec Limits set as column properties.  Below is a very simple example using the Semiconductor Capability sample data table.  The example only does the first 4 parameters, but it could easily have done all of the parameters.  Also, the Spec Limits are already set within the data table.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );

colNames = dt << get column names( continuous );

nw = New Window( "Charts",
	lb = Lineup Box( N Col( 2 ),
		For( i = 1, i <= 4, i++,
			Variability Chart(
				Y( colNames[1] ),
				X( :lot_id ),
				Model( "Main Effect" ),
				Historical Sigma( 0 ),
				Name( "Gauge R&R" )(6),
				Name( "Gauge R&R Report" )(1)
			)
		)
	)
);
Jim
jthi
Super User

Re: Scripting Guage R&R with tolerance Intervals

Ok I think I got it working by using Hide and Exclude... Didn't verify the results because the example data isn't too good. Attached the "working" version. BUT I wouldn't calculate Gauge R&R like this. I would most likely always prefer the method @txnelson @ suggested by using separated columns for parameters. This will also make the after analysis easier if needed.

-Jarmo