从列属性获取控制限制我之前发现这个主题是为了从列属性中提取规范限制。
https://community.jmp.com/t5/Discussions/Get-column-Property-and-store-as-list/td-p/50885
但是,我也需要对控制限做类似的事情。但是,对于此,相同的原则不起作用。
CTRL = Column(colname) << Get Property( "控制限制" );
LCL = CTRL["拼箱"];
返回:找不到名称。在访问或评估 'Subscript' 时,CTRL[/*###*/"LCL"]
我不明白为什么索引在这里不一致。总体而言,JSL 似乎与访问索引对象字段信息非常不一致。有什么我想念的吗?我似乎花了一半时间编写脚本,只是想弄清楚如何访问对象中嵌入的信息。
回复:从列属性获取控制限制哇,太丑了 我很惊讶没有直接的方法来提取这些数据...... 我想这是尽可能将我的更多代码推送到 JMP 之外的更多理由。我很欣赏这个答案,特别是考虑到完成任务所需的深度。
回复:从列属性获取控制限制没那么简单……但愿如此。这是我用过的一些代码……可能有更好的代码……我为个人测量限制定制了它……但它可以扩展
cLimits = dt:npn1 << get property( "control limits" );
For( i = 1, i <= N Items( cLimits ), i++,
If( Trim( Word( 1, Char( cLimits[i] ), "(,)" ) ) == "Individual Measurements",
IRLimits = Char( cLimits[1] );
k=2;
While( Word( k, IRLimits, "()" ) != "",
If(
Word( k, IRLimits, "()" ) == "Avg",
Avg = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "LCL",
LCL = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "UCL",
UCL = Word( k + 1, IRLimits, "()" )
);
k++;
);
)
);回复:从列属性获取控制限制我注意到了不同的分组,并尝试了十几种不同的方法来尝试将其从子对象中拉出来,但没有成功。调试器显示它获得了我的个人测量控制限制,但我尝试的任何形式的索引似乎都无法从对象中提取个人限制值。
我希望能够做类似的事情
拼箱= (CTRL["单次测量"])["拼箱"];
或者
LCL = CTRL("个别测量值")["LCL"];
或类似于常规编程/脚本语言的东西,但似乎没有任何效果。我实际上应该如何访问该数据?
回复:从列属性获取控制限制规格限远没有控制限那么复杂。对于 Spec Limits,基本上有 LSL、Target 和 USL。对于 Control Limits,由于 Control Limits 的种类不同,您可能有几个不同的 LCL、Avg 和 UCL 分组。请参阅下面同一列的规格限和控制限结构的输出。
dt:npn1 << get property("spec limits") = {LSL(104.41), USL(131.89), Target(118.15)};
dt:npn1 << get property("control limits") = {XBar(Avg(115), LCL(110), UCL(120), Subgroup Size(3)), R(Avg(10), LCL(5), UCL(15), Subgroup Size(3))};
因此,Control Limit 的检索和解析必须与 Spec Limits 完全不同。