从一个表中的数据开始,另一个表中的规范限制开始用于开始大规模功能分析的艰难方法。虽然在一些行业领域可能有权通过编写JSL程序的脚本,该程序将一个表中的规范加载到包含数据的表的列属性中,但有一些更好的选择。Ť JMP 12中的功能分析平台使得处理数据和单独的规范表成为一项快速简便的任务。在本文中,我将讨论如何利用JMP功能平台来解决将规范表中的数据添加到数据表的列属性的问题。手动单步执行只需点击几下( 过程能力平台的示例但最终目标是编写平台脚本以自动化分析并更新数据表的列属性和规范限制。事实证明,使用相当紧凑的脚本非常容易。
下面附带的脚本主要是从脚本索引中提取的,其中有一些来自JMP开发人员Lancaster博士的非常有用的提示。
该脚本首先从数据表中获取连续数字的列。
接下来创建一个空参数。变量“y”指的是空的“process variables()”参数。然后用“dty”中保存的列名填充该表达式。
表达式在几个点使用,因为在引用引用表达式的变量之前不会对它们进行求值。
下一个表达式用于生成功能报告,现在填充的流程变量参数将插入到完成该功能的obj中。插入“过程变量(名称)”在哪里?这并不重要,因为“Process Capability()”中的所有内容都只是另一个参数。
Process capability()中有两个重要的参数需要注意。首先是“Spec Limits(Import ...”,它告诉平台哪个表包含规范限制。 第二个,“规范限制对话框”(“否”(跳过...)此参数导致与平台跳过没有规范的列而不是提示用户提供它们相同的平台行为。(或者,“不,不要提示,只是跳过缺少规格的列。”)
该脚本的最后部分提供了对报告的引用,以便从整体Sigma摘要报告中生成数据表,并将规范保存到新数据表和原始数据表的列属性中。
我希望你觉得这个解释很有用。我还附上了我最近在JMP日使用的幻灯片。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dty = dt << GetColumnNames( numeric, continuous );
y = Expr( process variables() ); //this constructs the "process variables" argument that is inside the process capability function.
n = N Items( dty );
For( i = 1, i <= n, i++,
Insert Into( y, dty[i] ) // the column names, not name strings, are inserted and comma delimited
);
obj = Expr( // this is an expression so that it won't be evaluated and we can do things to it later
Process Capability(
Spec Limits( Import Spec Limits( "$SAMPLE_DATA/CitySpecLimits.jmp" ) ), // file path and file name of the specs table
Spec Limits Dialog( "No (skip columns with no spec limits)" ), // Handy thing to know, Thank you Dr. Lancaster!!
Overall Sigma Summary Report( 1 )
)
);
Insert Into( obj, Name Expr( y ) ); // this is later and we insert "y" which is "process variables( column names )" show( name expr(y)) to see it
pr = obj << report; // pr becomes a handle for the report, and obj gets evaluated
dt2 = pr[Table Box( 2 )]<< Make Into Data Table;// this is where the the summary report is in the capability report
dt3=obj<<SAVE spec="" limits="" to="" new="" table=""></SAVE>
*报告中使用的规范也包含在摘要报告中。