从限制列指定规格限制你好,
我有一个包含以下列的数据表,如何将限制作为属性分配给值列?
这意味着当我按日期绘制值时,我会自动看到这些限制

我试过
:value << set property(
"spec limits",
{LSL( : LCL ) , USL( : UCL ), Target( : Target ), Show Limits( 1 )}
);谢谢!
回复:从限制列指定规格限制此轨道中的信息假设您的 JMP 会话中打开了 2 个数据表。包含测量数据的数据表和包含规格限值的第二个表。您的 Open() 函数正在打开一个名为“Data.xlsx.txt”的 Excel 文件。这是您的测量数据还是极限数据?无论哪种情况,您都无法插入 Open() 函数(即修改规格限制的 JSL)。测量表和包含限制的表都必须完全读入,然后需要应用限制更新代码。
回复:从限制列指定规格限制你好@tx尼尔森,
我对 JMP 有点陌生。 我应该把这段代码放在哪里? 以下是源码中的脚本。
Open(
"Data.xlsx",
Worksheets( {"Sheet2"} ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 1 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
Eval(
Substitute(
Expr(
:value << set property(
"spec limits",
{LSL( __LSL__ ), USL( __USL__ ), ., Show Limits( 1 )}
)
),
Expr( __LSL__ ), :LSL[10],
Expr( __USL__ ), :USL[7],
)
)
)
)
这对我不起作用。 尝试调试导致中断的脚本,无论我在哪里放置断点。 任何帮助,将不胜感激。
回复:从限制列指定规格限制乐意! 吃过Ardbeg Uigeaail 吗? 您要参加卡里的 Discovery 2018 活动吗?
回复:从限制列指定规格限制1 瓶单一麦芽苏格兰威士忌 == 2 瓶啤酒
回复:从限制列指定规格限制吉姆:
谢谢! 我现在欠你两瓶啤酒:)。
这些天我将不得不克服我对 Eval / Expr / Substitute 的恐惧
回复:从限制列指定规格限制这是一个简单的脚本,它将设置显示限制而不删除已设置的限制
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
mycols = dt << Get Column Names( numeric, string );
For( i = 1, i <= N Items( mycols ), i++,
spec = Column( dt, mycols[i] ) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, mycols[i] ) <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);回复:从限制列指定规格限制亚当:
我的应用程序能够切换规格限制的“显示为图形参考线”。 完成“流程能力”后,从表中加载规格限制,然后将它们保存到列属性中,我注意到没有任何列具有选中“显示为图形参考线”。 对于 55 列,我不想手动执行此操作(但我这样做了 - 我搜索了文档,但可以找到如何执行此操作)。 现在我有 JSL 可以做到这一点。 将 (1) 更改为 (0) 进行切换。 您想要查看某些图的规格限制线,而不是其他图。
名称默认为此处( 1 );
dt = 当前数据表();
mycols = dt << 获取列名( string );
对于( i = 2, i <= N 项( mycols ), i++,
Column( i ) << Set Property( "规格限制", {显示限制(1)} );
);
因此,此 JSL 将切换 Show Limits(),但会清除分配给该列的 LSL()、Target()、USL()。
有没有人有办法只切换 Show Limits()?
回复:从限制列指定规格限制不为我工作,
你的意思是像例子中那样吗?
biv=Bivariate(
Y( :VALUE ),
X( :DATE ),
By(
:TEST
)
);
biv << Show Limits(1);
回复:从限制列指定规格限制Show Limits(1) - 我昨天在脚本指南中搜索如何对一堆列执行此操作。 谢谢!回复:从限制列指定规格限制你好,
感谢您对原始问题的解决方案。
我对同一问题/示例还有另一个问题。
我可以创建智能列属性或趋势图属性,以便当我使用 jsl 创建趋势图时将包含限制。
我认为需要有一些东西,因为每一行都有价值和限制。回复:从限制列指定规格限制您的示例数据表不包含任何名为 LSL 或 USL 的列。假设它们确实存在,但只是在显示中丢失了,您的代码仍然存在一些问题。首先,您尝试将值插入到列表结构中。
{LSL( : LSL ) , USL( : USL ), Target( : Target ), Show Limits( 1 )}
因为这是一个列表,所以它不会解析和评估自身。
第二项是,规格限制是列属性,因此只能为您的列:值设置一组规格限制。如果您有名为 :LSL、:Target 和 :USL 的列,则需要指定数据表中的哪一行包含这些限制。以下是可用于添加规格限值的一种方法。在代码中,我假设有 :USL、:Target 和 :USL 列,并且第 5 行包含您要使用的值。
Eval(
Substitute(
Expr(
:value << set property(
"spec limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
)
),
Expr( __LSL__ ), :LSL[5],
Expr( __USL__ ), :USL[5],
Expr( __Target__ ), :Target[5]
)
);