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
DSchweitzer
Level II

Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

I am working on a JSL script (JMP 17.0.0) that loads upper and lower Spec Limits into column property data using the Set Property function. The script appears to work correctly and I can see the correct property attribute and the correct limit values when looking at "Column Info" in the data table.
 
When I run a Capability Analysis or Gauge R&R analysis (tools that use the Spec Limit values), I notice that the column property values are not being passed to these tool (LSL and USL values are blank).  When I manually add "any" new column property via Column Info / ColumnProperties (Ex: add a Note or Unit property), the Spec Limits that were previously loaded now populate into both tools correctly. 

Is there something that needs to be done after using the Set Property function in a JSL script to make these properties visible to the analysis tools?  It appears that by manually adding a property I'm triggers or completing something that I'm missing in the script.


// Load Limits into Metadata property within the dt Table
For(i = 2, i <= ncolsLimits, i++,
	x = Num(dtLimits:(Column(colListLimits[i]))[1]);
	y = Num(dtLimits:(Column(colListLimits[i]))[2]);
	Eval(
		Eval Expr(
			dt:(Column(colListLimits[i])) << Set Property("Spec Limits", {Expr(y - x), Expr(x), Expr(y)})
		),

	);
);
1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

It could be that it just looks like the values are set correctly, when in reality they are not. Try adding LSL, Target and USL when you are setting the limits.

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");

x = 51;
y = 100;
i = 1;
colListLimits = {"height", "weight"};

Eval(
	Eval Expr(
		dt:(Column(colListLimits[i])) << Set Property("Spec Limits", {LSL(Expr(y - x)), Target(Expr(x)), USL(Expr(y))})
	)
);

dt:(Column(colListLimits[i])) << get property("Spec Limits");

To see what type of syntax to use, set limits manually to some column

jthi_0-1689401476762.png

Right click on the column header after adding the limits and select Copy Column Properties

jthi_1-1689401498009.png

and paste the results somewhere

Add Column Properties(
	Set Property("Notes", "Explore data adventurously"),
	Set Property("Spec Limits", {LSL(11), USL(22), Target(15), Show Limits(1)})
)
-Jarmo

View solution in original post

4 REPLIES 4

Re: Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

Not sure why the Capability platform is not using your spec limits, but for the Gauge analysis at least, try using the tolerance limit properties under MSA:

 

Screenshot 2023-07-14 145706.png

 

Also, I suggest using the Manage Limits tool to script spec limits, control limits, etc. 

DSchweitzer
Level II

Re: Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

I noticed the same behavior using the MSA properties. It seems that Gauge Analysis will try to use either Spec Limits or MSA limits. I assume this may be for backward compatibility. It does seem that MSA values take precedence if both exist.

jthi
Super User

Re: Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

It could be that it just looks like the values are set correctly, when in reality they are not. Try adding LSL, Target and USL when you are setting the limits.

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");

x = 51;
y = 100;
i = 1;
colListLimits = {"height", "weight"};

Eval(
	Eval Expr(
		dt:(Column(colListLimits[i])) << Set Property("Spec Limits", {LSL(Expr(y - x)), Target(Expr(x)), USL(Expr(y))})
	)
);

dt:(Column(colListLimits[i])) << get property("Spec Limits");

To see what type of syntax to use, set limits manually to some column

jthi_0-1689401476762.png

Right click on the column header after adding the limits and select Copy Column Properties

jthi_1-1689401498009.png

and paste the results somewhere

Add Column Properties(
	Set Property("Notes", "Explore data adventurously"),
	Set Property("Spec Limits", {LSL(11), USL(22), Target(15), Show Limits(1)})
)
-Jarmo
DSchweitzer
Level II

Re: Spec Limit and MSA Column Property metadata not always visible to Analysis Tools

I believe that was the case. When I replicated the example you showed exactly into my script it worked. So I was doing something incorrect and the property was not actually being set.  Now that it works, I can't make it unwork again, so I was obviously missing something subtle that looked correct. Appreciate the help.