显示为图形参考线<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在使用脚本将规格限制导入到我想要绘制图表的每个数据表中。虽然分布图显示了规格,但箱形图却没有。我一直在尝试在多个区域插入“显示规格限制(1)”,但没有成功。我是 JSL 菜鸟,所以正在寻找一些专业知识。通过每个列属性 GUI 来选中该框是难以管理的。这是一段代码;
dt = open("datatable.jmp");
对象 = 能力(
Y(:规格1,:规格2,:规格3,:规格4),
规格限值(导入规格限值(“spec_limits_table.jmp”)));
obj << 显示限制(1);
obj << 将规格限值保存为列属性;
回复:显示为图形参考线吉姆,效果非常好。谢谢你!!!
回复:显示为图形参考线我运行了您包含的脚本,发现功能平台确实创建了我认为结构不正确的规格限制列属性。我已将其发送给 JMP 寻求他们的答复。
给定的所有内容,必须改变的是在给定当前结构的情况下提取当前规格限制的方法。新的结构不是一个List,
这是经过修改的脚本,我相信它可以处理您的数据。请记住,一旦设置了“显示限制”值,JMP 将更改规格限制属性的结构,因此将来的“获取属性(“规格限制”)”将以列表形式返回规格限制,而不是由功能分配的奇怪结构平台。
名称默认为此处( 1 );
dt=当前数据表();
// 获取数据表中所有数字列
数字列 = dt <<获取列名(数字,字符串);
// 循环所有列并设置显示限制
为了(我= 3 , 我 <= N 项(数字列),i++,
// 如果获取规格限制的请求返回空值
// 列没有规格限制,因此不要设置显示限制
如果(是空的(柱子( dt,数字列) <<获得财产( “规格限制” ) ) == 0 ,
// 这是规格限制列表的结构。 如果您只设置
// 显示限制,它将消除其他限制,因此需要将它们
// 检索并代入结构中
规格限制值 =查尔(柱子(dt,数字列) <<获得财产( “规格限制” ) );
最低限度=尝试(数量(单词( 2 ,子字符串(规格限制,包含(规格限制, “LSL(” ) ), “()” ) ), 。 );
超限=尝试(数量(单词( 2 ,子字符串(规格限制,包含(规格限制, “USL(” ) ), “()” ) ), 。 );
目标=尝试(数量(单词( 2 ,子字符串(规格限制,包含(规格限制, “目标(” ) ), “()” ) ), 。 );
评估(
代替(
表达式(
柱子(dt, __col__ ) <<设置属性(
“规格限制” ,
{LSL( __LSL__ ), USL( __USL__ ), 目标( __Target__ ), 显示限制( 1 )}
)
),
表达式( __col__ ),数字列,
表达式( __LSL__ ),LSL,
表达式( __USL__ ), USL,
表达式( __Target__ ), 目标
)
);
)
);
回复:显示为图形参考线抱歉,错过了最终保存规格 cmd。
obj << 将规格限值保存为列属性;
回复:显示为图形参考线我不确定我是否理解您的规格限制的结构。下面是我运行的附加限制的脚本,该脚本填充指定列中的所有限制。这来自帮助中的脚本示例。我错过了什么吗?
我尝试过2种方法,都没有成功;
1. 将代码附加到此脚本并运行
2. 针对 dt 运行此脚本。保存 dt 与规格限制。在单独的脚本中运行上面的代码。
名称默认为此处(1);
dt = 打开(“C:\junk1_example.jmp”);
对象 = 能力(
Y(
:名称(“Met1_Res/um”),
:名称(“Met2_Res/um”),
:名称(“Met3_Res/um”),
:名称(“Met4_Res/um”),
),
规格限值(:名称(“Met1_Res/um”)(LSL(1.0),目标(1.3),USL(1.6)),
:名称( "Met2_Res/um" ) (LSL(1.0), 目标(1.3), USL(1.6) ),
:名称(“Met3_Res/um”)(LSL(1.0),目标(1.3),USL(1.6)),
:名称( "Met4_Res/um" ) (LSL(1.0), 目标(1.3), USL(1.6) )
)
);
回复:显示为图形参考线首先,我发布的代码中有一个小错误。该行:
如果(是空的(柱子( dt ,数字列[我] ) ) == 0 ,
实际上应该是:
如果(是空的(柱子( dt ,数字列[我] ) <<获得财产( “规格限制” ) ) == 0 ,
但这并不是脚本消除规格限制的原因。
该问题的原因是,无论您使用什么方法来填充原始数据表中的限制,限制都被错误地指定。尽管它们似乎可以在发行版等平台上工作,但实际的规格限制规范是错误的。
从附加到上次响应的数据表中提取规格限制属性时,返回的内容如下:
规格限值(LSL(1)、USL(1.6)、目标(1.3))
应该返回的是:
{LSL( 1 ), USL( 1.6 ), 目标( 1.3 )}
如果您手动进入 Met1_Res/um 列的规格限值,并设置“显示限值”复选框,则限值列表将更改为正确的结构。
如果您采用我包含的原始代码,并根据半导体能力数据表运行它(因为它被设置为运行),您将看到它设置了“显示限制”值。如果您在示例数据表中更改为正确的规格限制结构,它也会起作用。
当然,可以编写一个脚本来读取原始数据表中的结构,然后当显示它所替换的限制值以及限制时,该结构将自动更改为正确的结构。但我建议不要这样做,而是要找出并纠正错误地指定了不正确限制结构的 pgm。
回复:显示为图形参考线JMP 12.2
我运行了你的代码,交换了 dt --> 仅打开文件。基本上根据我的数据运行你的代码。
回复:显示为图形参考线您使用的是哪个版本的 JMP?
您所说的评论是基于运行代码而没有更改,我已包含在我的回复中,还是基于针对您的数据表运行该代码而发表的评论?
可以附上你正在使用的数据表吗?
回复:显示为图形参考线由于某种原因,获取列名称(数字、字符串)消除了我的规范限制。如果我更改为获取列名称(数字),限制仍然存在,但不会选中“显示规格”框。
回复:显示为图形参考线以下脚本将为数据表中的所有数字列设置显示限制(如果该列具有规格限制)。
名称默认为此处( 1 ) ;
dt =打开( “$SAMPLE_DATA/半导体能力.jmp” ) ;
// 获取数据表中所有数字列
数字列= dt <<获取列名(数字,细绳) ;
// 循环所有列并设置显示限制
为了(我= 3 ,我<= N 项(数字列) ,我++,
// 如果获取规格限制的请求返回空值
// 列没有规格限制,因此不要设置显示限制
如果(是空的(柱子( dt ,数字列[我] ) ) == 0 ,
// 这是规格限制列表的结构。 如果您只设置
// 显示限制,它将消除其他限制,因此需要将它们
// 检索并代入结构中
评估(
代替(
表达式(
柱子( dt , __col__ ) <<设置属性(
“规格限制” ,
{ LSL ( __LSL__ ) ,超级激光实验室( __USL__ ) ,目标( __目标__ ) ,显示限制( 1 )}
)
) ,
表达式( __col__ ) ,数字列[我] ,
表达式( __LSL__ ) ,尝试( (柱子( dt ,数字列[我] ) <<获得财产( “规格限制” ))[ “LSL” ] , 。 ) ,
表达式( __USL__ ) ,尝试( (柱子( dt ,数字列[我] ) <<获得财产( “规格限制” ))[ “USL” ] , 。 ) ,
表达式( __目标__ ) ,尝试( (柱子( dt ,数字列[我] ) <<获得财产( “规格限制” ))[ “目标” ] , 。 )
)
)
)
) ;