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
ENTHU
Level IV

ADDING SPEC LIMITS BASED ON A CONDITION

I have written a script that plots variability chart with the following data -

1.I have defined a list that contains all column names starting with MIP and i iterate through this list for Y-axis variable.

2.X-axis has Tool name and Part id.

3.I am right now able to plot MIP_*  variability plot for different step number.

4.I need to add set point and upper/lower spec limits to these plots.eg : variability chart for MIP_GY1 at step numberA.

5.The set point and spec limits vary for each step number.

6.How can i handle this programatically?

 

UidMIP_GY1MIP_GY2MIP_UT0MIP_UT1MIP_DF0MIP_DF1MIP_DF2Step NumberTool NamePartid
3 REPLIES 3
MichelleG
Level III

Re: ADDING SPEC LIMITS BASED ON A CONDITION

I just wrote you a reply, then tried to edit it and it disappeared. Rather than rewrite the whole thing, let me first ask (because of your related-sounding post yesterday): are you trying to make a single variability chart with lines going across it that change level when they are above different grouping buckets? Or are you trying to make a bunch of different variability charts, each of which has set point and spec limit lines drawn at variable levels?

If it is the first option (spec limit lines that discontinuously jump to different values depending on the label of that particular grouping): as far as I know this is not possible. If it is the second option, you can set up variables with conditional logic and then call those variables from within the plotting function, and I'm happy to help with that syntax if needed.
ENTHU
Level IV

Re: ADDING SPEC LIMITS BASED ON A CONDITION

I am trying to make a bunch of different variability charts and following is my code -

dtin = Open( "C:\Users\mdhumwad\Documents\SQLPathFinder_Data\LKF_PHI_REPORT.csv" );
a = "MIP_";
col = dtin << get column names( string );
ncc = N Items( col );
theo_pars = {};
For( i = 1, i <= ncc, i++,
	If( Contains( col[i], a ),
		Insert Into( theo_pars, col[i] )
	)
);

Print( theo_pars );

step_number_list = {};
step_number_list = Associative Array( dtin:step_number ) << Get Keys;

nw = New Window( "the0 data", container = V List Box() );

For( i = 1, i <= N Items( theo_pars ), i++, 
	content = V List Box(
		dtin << Variability Chart(
			Y( Column( dtin, theo_pars[i] ) ),
			X( :Tool name, :Part_id ),
			By( :step_number ),
			Show Range Bars( 0 ),
			Show Cell Means( 0 ),
			Std Dev Chart( 0 ),
			SendtinoReport(
				Dispatch(
					{__VarChart__},
					"2", 
				)
			)
		)
	);
	container << Append( content );
);
MichelleG
Level III

Re: ADDING SPEC LIMITS BASED ON A CONDITION

I see. You're creating one variability chart for each MIP_ column, but then it's just grouped

By( :step_number )

which means the various steps are the "buckets" you are grouping your data into, spaced along the X axis.

 

If each step number has different spec limits, then, I think you are asking for a way to annotate each variability chart with lines that are at different levels depending on the grouping they are above. As far as I know, there is no way to do that in the JMP variability chart.

 

One possible solution that might work for you: you could renormalize your data so that it is centered around the set point value for the relevant step number (say, by subtracting the set point from the data points). Then you would have 0 = on target, and the numbers would reflect how far above (+) or below (-) the set point they were. If your limits are always the same distance from the set point, and the set point is the only thing that changes from step to step, then you could draw one set of lines across the whole variability chart to illustrate this.

 

If you have different limit ranges and different set points, you could do some fancier scaling to express your data in terms of both the set point and the limits. But that might be too opaque and confusing to the folks who ultimately look at your chart.