顯示為圖形參考線<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 ,數字列[我] ) <<獲得財產( “規格限制” ))[ “目標” ] , 。 )
)
)
)
) ;