Spec Limit and MSA Column Property metadata not always visible to Analysis ToolsI 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]))<
),
);
);
Automation and ScriptingRe: Spec Limit and MSA Column Property metadata not always visible to Analysis ToolsNot 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:

Also, I suggest using the Manage Limits tool to script spec limits, control limits, etc.
Re: Spec Limit and MSA Column Property metadata not always visible to Analysis ToolsIt 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

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

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)})
)Re: Spec Limit and MSA Column Property metadata not always visible to Analysis ToolsI 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.
Re: Spec Limit and MSA Column Property metadata not always visible to Analysis ToolsI 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.