你好,
我正在嘗試自動設定列的規格限制。似乎使用硬編碼值可以輕鬆完成此過程,但當您將規格限製作為變數輸入時則不起作用。所以這有效:
Column(4) << Set Property("Spec Limits", {LSL(0), USL(1), Show Limits(1)});

但這並不:
lowerLimit = 0;
upperLimit = 1;
Column(4) << Set Property("Spec Limits", {LSL(lowerLimit), USL(upperLimit), Show Limits(1)});
有人知道解決這個問題的方法嗎?謝謝。
最好的,
考提克馬
一些補充說明:
- 管理規格限制更容易使用,但它可能並不總是有效,因為規格表中的某些列名稱往往非常嚴格。
- JMP 無法記錄「管理規格限制」平台中的按鈕按下情況(增強型日誌/工作流程),因此您只需在此處編寫少量腳本,但可以輕鬆地從「管理限制」下的腳本索引中找到訊息,因為它們與那些訊息相同按鈕名稱。
- Jim 提供的方法始終有效,但需要編寫腳本。學習這一點的一大好處是,這並不是唯一可以使用它的地方。
(我使用這兩種但更多的管理規格限制方法只是為了設定規格限制)。
還可以在發送之前在圖表中顯示規格線
obj << Save to Column Properties;
傳送
obj << Show Limits All;
啟用複選標記

@txnelson的答案很完美;然而,在處理規範限制時,腳本平台提供了更簡單、更通用的解決方案。
在此範例中,從腳本索引(搜尋「負載限制」或「儲存到列屬性」)首先建立限製表。您可能已經建立了此表(或矩陣)。
開啟目標資料表後,使用管理限值平台從定義的限值表中載入限值,然後將限值儲存到目標資料表中。
;</CODE> <BR /><CODE class=" language-jsl">Names Default To Here( 1 );<BR />//First construct a table of limits for the example
dtLimits = New Table( "Cities Limits",Add Rows( 4 ),
New Column( "Process",Character,Set Values( {"OZONE", "CO", "SO2", "NO"} )),
New Column( "LSL", Numeric, Set Values( [0, 0, 0, 0] ) ),
New Column( "Target",Numeric,Set Values( [0.2, 15, 0.05, 0.035] )),
New Column( "USL",Numeric,Set Values( [0.4, 30, 0.1, 0.07] )),
Set Label Columns( :Process ));<BR /><BR />//Open the target data table to act on
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
<BR />//Script the Mangae Limits Platform<BR />obj = dt << Manage Limits(Process Variables( :OZONE, :CO, :SO2, :NO ));
obj << Load From Limits Table( dtLimits ); <BR />obj << Save to Column Properties;<BR />obj << Close Window
JMP 清單可以是任何內容,因此當您在清單中指定類似 upperLimit 之類的內容時,JMP 會假定您正是想要清單中的內容。若要告訴 JMP 處理清單中的內容,在建立清單之前,您可以執行下列操作
Names Default To Here( 1 );
lowerLimit = 0;
upperLimit = 1;
Eval(
Eval Expr(
Column( 4 ) << Set Property(
"Spec Limits",
{LSL( Expr( lowerLimit ) ), USL( Expr( upperLimit ) ), Show Limits( 1 )}
)
)
);