使用 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) );