cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar
tding001
Level I

To add spec limits in Variability chart from data table

Hi there,

My JMP version is 10.0.2. Due to work needed, I have hundreds of parameters to be analyzed and each parameters have more than 100 data points. My customer sent me another file including the LSL, target and USL of these parameters in excel. Therefore I am wondering if there is a script / embeded tool to link the spec limits with corresponding parameters when I am plotting the Variabiltiy chart (X axis shall be the different batch number and Y axis is the parameter data). I also want to show the box plot of the raw data. Currently I do all these manually which wastes a lot of time. So please let me know whether there is a solution (I assume should be)

Forgive me that I cannot show the raw data file due to confidential reason. Thank you in advance.

12 REPLIES 12
tding001
Level I

Re: To add spec limits in Variability chart from data table

I attached the simplified raw data table and spec limit table. I think the error comes from the naming rule of my parameters which contains $. But I cannot change the parameter name. Please help to check. Really appreciate.

txnelson
Super User

Re: To add spec limits in Variability chart from data table

Your column names contain characters that JMP will try to execute, rather than use them as part of the name.  Therefore I had to add in a :Name() function to force JMP to interpret the complete value as a name.  See the script below.

Note: the dt =  and dtLimits =  statements have been changed to look for already opened data tables.  You may need to change them back to using an open() function.

// Open table to have limits set on
dt = data table("raw data");
dtLimits = data table("Spec limit");


// Get a list of all of the numeric columns in the measurment data table
colNames = dt << get column names( numeric, string );

// Loop across the Limits table and apply the findings to data table
For( i = 1, i <= N Rows( dtLimits ), i++, 
	// If a column in the measurement data table has the same name as the current 
	// Limits data table column "Parameter" has, then process the data
	colNamesPosition = Loc( colNames, dtLimits:Parameter[i] );
	If( N Rows(colNamesPosition) > 0,
		Eval(
			Substitute(
					Expr(
						__col__ << set property(
							"Spec Limits",
							{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
						)
					),
				Expr( __col__ ), Parse( "dt:Name(\!"" || colNames[colNamesPosition[1]] || "\!")" ),
				Expr( __LSL__ ), dtLimits:LSL[i],
				Expr( __USL__ ), dtLimits:USL[i],
				Expr( __Target__ ), dtLimits:Target[i]
			)
		)
	);
);

// Run Variability Charts
Variability Chart( Y( :Name("TWNB_10/10$Vtlin%V"), :Name("TWNB_10/10$Idlin%uA/um") ), X( :wafer ) );
Jim
tding001
Level I

Re: To add spec limits in Variability chart from data table

Thanks Nelson, this script can work on my case. Really appreciate your patience and support!