<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
有點像 JMP 腳本新手。 感謝我能得到的任何幫助。
以下是我想要實現的步驟。 首先,我開啟 Excel 文件,並在該 Excel 文件中選擇一個工作表。然後我應用一些 SQL 語句來取得工作表資料的子集並命名該資料集
作為依從性的子集。接下來是建立日誌,我將所有失敗的控制點寫入其中。 接下來是根據 Final CPASU 列繪製控制圖。 這就是我的問題開始的地方。
我希望僅在數據未通過任何測試時才繪製控製圖。 換句話說,如果資料點通過了所有七個控制限測試,我不希望 JMP 顯示該圖表。 它應該僅在某些內容超出限制時顯示圖表。當我有超過 50 個圖表(這裡就是這種情況)但我沒有包含所有其他 49 個圖表代碼時,這特別有用。
這樣做可以確保我只專注於糾正出錯的事情,而不是查看所有圖表
並找出哪些圖表數據點出了問題。最後,我要做的是將這些圖表作為 HTML 檔案保存在資料夾中,這樣我就可以用 VBA 編寫一個腳本,然後將這些圖像發佈到共享點網站上。這一步運作正常,但我對上述步驟缺乏想法。
我的程式碼如下:
開啟資料庫("DSN=Excel Files;DBQ=C:\Users\XXXXX\Documents\XXXX\JMP Analysis\XXXXX.xlsm;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;", "從`'CPASU中選擇* $'`","CPASU$");
//建立子集
(資料表( "CPASU byqueue$" ) << 選擇其中(AND(FWEEK>=201201,FWEEK!=201248, FWEEK!=201247, FWEEK!=201243, Adherence>0))<< 子集( 連結< 子集( 連結 ) ;
當前資料表(資料表(「依從性子集$」)));
//清除csv檔案的日誌和設定列
清除日誌();
Write("佇列名稱,測試,列,資料點\!N");
//開始控制圖
新視窗(“CPASU 的子集”,
V 列錶框(
控制圖(樣本標籤( :FWEEK ),(警報腳本(Write("NA Standard,",qc_test,",",qc_col,qc_sample,"\!N")),
團體人數( 1 ),
克西格瑪( 3 ),}
Chart Col( :最終 CPASU,單獨測量(遮陽區(1),測試 1(1)) ),Where( :隊列名稱 == "NA 標準" ),),);
Savelog("C:\Users\XXXX\Documents\XXXX\JMP Analysis\JMPlogs.csv");
Window(“CPASU 的子集”) << SaveHTML (“C:\Users\XXX\Documents\XXX\JMP Analysis\HTML\CPASU.html”);
如果左括號和右括號的數量不匹配,請忽略。
嘿阿什溫,
我可以考慮採用幾種方法來做到這一點,但我相信最簡單的方法是按原樣編寫控製圖腳本,然後讓 JMP 打開您以表格形式編寫的日誌檔案。 從這裡開始,您可以採取幾種方法,但本質上您現在在 JMP 中擁有一個表格,顯示哪些突破失敗。 您可以將「佇列名稱」的值的不同清單載入到清單變數中,並讓該迴圈遍歷第二個腳本,就像您...本質上將where(:Queue Name = "NA Standards") 替換為Where(:Queue Name) = 列表)這樣它只會為失敗的圖表編寫腳本。 所以你的第二部分看起來像這樣:
V 列錶框(
For( i= 1, i <= N 項(LISTNAME), i++,
控製圖(範例標籤( :FWEEK ),(警報腳本(Write(char(LISTNAME) ,",",qc_test,",",qc_col,qc_sample,"\!N")),
團體人數( 1 ),
克西格瑪( 3 ),
Chart Col( :最終 CPASU,單獨測量(陰影區域(1),測試 1(1)) ),Where( :隊列名稱 == LISTNAME ),),));
當然,將 LISTNAME 替換為您想要的清單名稱。 我還沒有測試過這段程式碼,所以可能需要一些調整插入語和逗號...但我想你明白了。