<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我試圖繪製三個控製圖(IR,EWMA和CUSUM),但由於一些奇怪的原因,圖表窗口顯示空白。當嘗試使用JMP接口時,它可以完美地繪製圖表。
一個有趣的事實是,在第一次運行以生成限制時執行下面提到的第三步時會填充相同的圖表,但是當實際需要限制時,即使當前應用的限制是從同一個表計算的,也不會。
這就是我的代碼流的工作原理:
- >獲取輸入文件
- >加入他們創建主表
- >計算限制並在另一個表中存儲所有過程參數。 (對於首次運行限制將從上一步中創建的主表計算)
- >在繪圖功能中循環參數並獲取它們的限制並調用顯示功能
- >使用主表值繪製圖表,同時應用適當的限制值。
這是最後兩個步驟的代碼:
顯示 = 功能 ({ 處理 ,標籤 ,通過 , Src_Type , lmt1 , lmt2 , lmt3 } ,
R1 = 新窗戶 ( “趨勢分析報告” || 漫長的約會 ( 今天 ()) ,
H列錶框 (
面板盒 ( “個人和移動範圍” ,當前數據表 ( DT ) ; // dt是第2步的主表。
CC = 控製圖 (
樣品標籤 ( 作為名字 ( 標籤 )) ,
團體規模 ( 1 ) , KSigma ( 3 ) ,
作為專欄 ( 處理 ) ,個人測量 ( LCL ( lmt1 [ 6 ]) , AVG ( lmt1 [ 五 ]) , UCL ( lmt1 [ 7 ]))
) ,
哪裡 ( 作為專欄 ( 通過 ) == Src_Type )
) ;
) , //排除其他圖表類型以縮短空間!!
) ;
) ;
) ;
情節 = 功能 ({ lmts , pmt_path } ,
param_dt = 打開 ( pmt_path , “無形” ) ;
param_summ = param_dt << 摘要 ( 無形 ,
組 ( : 通過...分組 ,: 處理 ,: 樣品標籤 ,: 通過 )) << 櫥窗 ( 0 ) ;
對於 ( q = 12 , q <= NRow ( param_summ ) , q ++,當前數據表 ( param_summ ) ;
COL2 =: 處理 [ q ] ; COL3 =: 樣品標籤 [ q ] ; COL4 =: 通過 [ q ] ;
當前數據表 ( lmts ) ;
CLMS = lmts << 獲取列名稱 ( 串 ) ;
從......中去除 ( CLMS , 1 , 3 ) ;
對於 ( Ť = 1 , Ť <= N項 ( CLMS ) , Ť ++,當前數據表 ( lmts ) ;
indv_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “個人” )] ;
cusum_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “累積和” )] ;
ewma_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “EWMA” )] ;
//當前數據表(dt);
// dt1 = dt <<獲取行數(作為列(dt,col4)== clms);
// if(nrows(dt1)> 0,dt << select where(column(dt,col4)!= clms)<< exclude << clear select;);
顯示 ( COL2 , COL3 , COL4 , CLMS [ Ť ] , indv_lmts , cusum_lmts , ewma_lmts ) ;
// dt << clear row states;
) ;
) ;
) ;
任何關於我錯過這個技巧的幫助都會非常有幫助。我嘗試了很多東西但是徒勞無功。 如果我製造了任何混淆,請回复。
謝謝!!
**更新:使用的限值:
LCL = 93.6194355860458; AVG = 101.61918084006; UCL = 109.618926094074;
LCL = 91.1389663749264; AVG = 101.933916247341; UCL = 112.728866119756;
LCL = 95.791125521153; AVG = 99.6808876541094; UCL = 103.570649787066;
LCL = 96.1221889831269; AVG = 99.2913942704352; UCL = 102.460599557744;
LCL =。; AVG = 101.63975868081; UCL =。;
LCL = 96.4170696517472; AVG = 99.4247943691138; UCL = 102.43251908648;
LCL = 85.6694623331952; AVG = 102.356837670718; UCL = 119.044213008241;
LCL = 85.2093412100746; AVG = 105.163584386677; UCL = 125.117827563278; //對於此日誌顯示“控制限制亂序:必須是LCL <= Avg <= UCL”
剛注意到我的樣品標籤列未包含在日期列的圖表中。 是否有任何導致問題的問題,我不知道?
似乎在嘗試獲取單個窗口結果時存在一些問題,但是當我嘗試在最後一個窗口中追加所有循環時,結果會顯示出來。如果有人可以提供幫助,或者我走錯了路。
更新的代碼:
V = VList Box ( “所有” ) ;
顯示 = 功能 ({ 處理 ,標籤 ,通過 , Src_Type , lmt1 , lmt2 , lmt3 } ,
R1 = 新窗戶 ( “趨勢分析報告” || 漫長的約會 ( 今天 ()) ,
H列錶框 (
面板盒 ( “個人和移動範圍” ,當前數據表 ( DT ) ; // dt是第2步的主表。
CC = 控製圖 (
樣品標籤 ( 作為名字 ( 標籤 )) ,
團體規模 ( 1 ) , KSigma ( 3 ) ,
作為專欄 ( 處理 ) ,個人測量 ( LCL ( lmt1 [ 6 ]) , AVG ( lmt1 [ 五 ]) , UCL ( lmt1 [ 7 ]))
) ,
哪裡 ( 作為專欄 ( 通過 ) == Src_Type )
) ;
) , //排除其他圖表類型以縮短空間!!
) ;
) ; V << 附加 ( R1 ) ; R1 << 關閉窗口 ;
) ;
情節 = 功能 ({ lmts , pmt_path } ,
param_dt = 打開 ( pmt_path , “無形” ) ;
param_summ = param_dt << 摘要 ( 無形 ,
組 ( : 通過...分組 ,: 處理 ,: 樣品標籤 ,: 通過 )) << 櫥窗 ( 0 ) ;
對於 ( q = 12 , q <= NRow ( param_summ ) , q ++,當前數據表 ( param_summ ) ;
COL2 =: 處理 [ q ] ; COL3 =: 樣品標籤 [ q ] ; COL4 =: 通過 [ q ] ;
當前數據表 ( lmts ) ;
CLMS = lmts << 獲取列名稱 ( 串 ) ;
從......中去除 ( CLMS , 1 , 3 ) ;
對於 ( Ť = 1 , Ť <= N項 ( CLMS ) , Ť ++,當前數據表 ( lmts ) ;
indv_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “個人” )] ;
cusum_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “累積和” )] ;
ewma_lmts = 作為專欄 ( CLMS [ Ť ])[ lmts << 獲取行 ( : 參數 == COL2 & : 圖表類型 == “EWMA” )] ;
//當前數據表(dt);
// dt1 = dt <<獲取行數(作為列(dt,col4)== clms);
// if(nrows(dt1)> 0,dt << select where(column(dt,col4)!= clms)<< exclude << clear select;);
顯示 ( COL2 , COL3 , COL4 , CLMS [ Ť ] , indv_lmts , cusum_lmts , ewma_lmts ) ;
// dt << clear row states;
) ;
) ;
) ;
v = 新窗戶 ( “測試” , V ) ;

我遇到的新問題是,每次將所有內容放在一個下面時,不要創建不同的Panel框,而是從顯示中刪除這個“Where(....)”的東西。