使用 JSL 将计算列添加到过程筛选汇总表我发誓我在某处看到有人直接将计算列添加到过程筛选摘要中的帖子,而我正想这样做。
我想添加的特定列只是指定 Sigma 和 Within Sigma 之间的区别,尽管如果我可以添加一个,不久之后我想添加更多...
无论如何,任何人都知道如何以编程方式添加额外的计算列,或者如果可能的话?
分析脚本回复:使用 JSL 将计算列添加到过程筛选汇总表我使用该工具的次数越多,我就越觉得这是 JMP 自图形生成器以来最重要的新增功能之一。我想继续添加的东西太多了。就像根据什么属性(或任何分组级别)更改目标图中的标记类型一样。我认为这也可以通过一些脚本来实现,也可以看看。
这很有趣,因为(多年前)我曾经因为 JMP 在质量方面有点落后而痛骂 JMP,但它取得了令人难以置信的飞跃,我认为这个平台现在是行业领导者。
回复:使用 JSL 将计算列添加到过程筛选汇总表很高兴您提出这个问题,因为我在上一篇文章中没有包含列排序的修复程序。我更新了该回复中的脚本,将一列写入表中,然后在提取要计算的值之前将其删除。 这解决了排序顺序问题,但我希望 JMP 可以在下一版本的 JMP 中实现更好的解决方案。
回复:使用 JSL 将计算列添加到过程筛选汇总表这就是我要找的人。不过,请快速提问,您是说由此产生的任何结果都无法排序吗?这对我来说会有点阻碍。
回复:使用 JSL 将计算列添加到过程筛选汇总表这可能是您提到的帖子。我仍在寻找一种更好的方法来确保在添加新列时表格正确排序,但它完成了工作:过程变量漂移或蠕变检测
names default to here(1);
dt = Open("$Sample_Data/iris.jmp");
//Open Process Screening with drift summaries
ps = dt << Process Screening(
Y( :Sepal length, :Sepal width, :Petal length, :Petal width ),
Control Chart Type( "Indiv and MR" ),
Drift Summaries( 1 )
);
//Add a dummy column and use set values to reset the table order
ncb = (ps << XPath( "//TableBox" )) << Append( newCol = NumberColBox("Delete Me", {}));
newCol << Set Values({});
newCol << Delete Box;
//calculate the difference in sigmas
WithinSigma = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Within Sigma']]" ))[1] << Get;
SpecifiedSigma = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Overall Sigma']]" ))[1] << Get;
SigmaDifference = Matrix(WithinSigma) - Matrix(SpecifiedSigma);
//Add column to table with difference in sigma
ncb = (ps << XPath( "//TableBox" )) << Append( NumberColBox("Sigma Difference", SigmaDifference) );