<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
自從我的最後的問題A很少天我有來A小的更遠和我的腳本。
為了完成第一步,我想將報告(在 3 個窗口中)合併到一個報告(1 個窗口)中。
我怎樣才能做到這一點 ... 參見第 51 行 ff
如何保存此報告自動命名為數據文件名(前 10 個字符)和 _Baseline(如果選擇多於一個月)或 _Monthly(選擇月份)? ...參見第 33-40 行
我的腳本:
清除日誌();
清除全局變量();
data_file= Pick File("選擇數據庫");
dt_data= 打開( data_file, 不可見);
spec_file= 選擇文件("選擇規格文件");
dt_spec = 打開(spec_file,不可見);
//dt_ssum= 新表("統計摘要", 不可見);
specColName = dt_spec << GetColumnNames( 數字, 字符串 );
dataColName = dt_data << GetColumnNames( 數字, 字符串 );
規格表達式 = 表達式(
列( dt_data, 名稱 ) << 設置屬性(
“規格限制”,
{LSL( Expr( 下 ) ), USL( Expr( 上 ) )}
);
);
For( i = 1, i <= N 行( dt_spec ), i++,
名稱 = 列( dt_spec, "進程" ) ;
下=列(dt_spec,“LSL”) ;
上層 = Column( dt_spec, "USL" ) ;
If( 包含( dataColName, 名稱 ),
評估(評估表達式(specExpr))
);
);
當前數據表(dt_data);
新窗口("選擇一個月", <
V 列錶框(
文本框(“或全部基線”),
mon = 列錶框(:階段 << 獲取值),
按鈕框(“確定”, cho = mon << 被選中),
)
);
dt_data << 選擇其中(包含(cho, :Stage));
如果 (
cho [1] == "基線",
dt_data << 刪除行,
dt_data << 反轉行選擇;
dt_data << 刪除行;
);
對於 (k = 1, k <= N 項(dataColName),k++,
cc = dt_data << 控製圖(
團體人數( 1 ),
克西格瑪( 3 ),
圖表欄(
數據列名,
單獨測量(測試 1( 1 )、測試 2( 1 )、測試 3( 1 ) )、
移動範圍,
能力(
分配(
連續分佈(
列(數據列名稱),
分位數( 0 ),
水平佈局( 0 ),
直方圖( 0 ),
垂直( 0 ),
離群值箱線圖( 0 ),
摘要統計 (1), // 無功能
正態分位數圖( 0 ), // 無函數
PpK 能力標籤( 1 ),
能力分析,
)
)
)
),
發送至報告(
派遣(
{“化驗的單獨測量”},
《IM IR圖》,
框架盒( 2 ),
{幀大小( 75, 162 )}
),
派遣(
{“測定的移動範圍”},
“MR IR 圖”,
框架盒( 2 ),
{幀大小( 75, 162 )}
),
派遣(
{“能力分析”},
“長期西格瑪”,
大綱框,
{關閉(1)}
),
派遣(
{“能力分析”},
“控製圖西格瑪”,
)
)
)
);
// 創建並保存包含 LSL、USL、UCL、AVG、LCL 的新表
// 匯總統計、CP、CPK、CPL、CPU、Sigma(控製圖 Sigma)
ccr = cc << 報告;
ccr << 顯示樹結構();
//ccr[StringColBox(1)]
//ccr[NumberColBox(1)]
//ccr[框架框(2)]
//ccr[StringColBox(7)]
//ccr[NumberColBox(9)]
//ccr[文本框(6)]
感謝您的幫助
組合 Windows 實際上是組合原始報告的 <回复:jsl:如何將多個報告合併為一個
嗨大衛,
感謝您使用“容器”和“內容”的示例......它更有意義。
我有一個問題:對於新窗口“演示”,為什麼我看不到它在“窗口”->“合併窗口”中列為可供選擇的選項?
謝謝。
德爾奇赫
這裡似乎有3個問題。
以下是將輸出組合到單個窗口中的一些示例代碼:
dt =打開( “$SAMPLE_DATA/半導體能力.jmp” ) ;
西北=新窗戶( “演示” ,
容器= V 列錶框()
) ;
為了(我= 5 ,我< 8 ,我++,
內容= V 列錶框(
dt <<控製圖(
圖表欄(柱子(我) , X吧) ,
標籤樣本( :晶圓) ,
克西格瑪( 3 )
)
) ;
容器<<附加(內容)
) ;
關於自動保存報告,我將嘗試回答,而無需弄清楚代碼的詳細信息。有兩個方面 - 如何獲得正確的名稱以及如何進行保存。您想要從多個組件中派生名稱 - 表名稱和基線。我還沒有詳細了解基線的含義,但原則是使用字符操作。如果你想要表名的前 10 個字母,你可以這樣寫:
表名= dt_數據<<獲取姓名;
簡稱=左邊(表名, 10 ) ;
在構造另一個表示基線信息的字符串(例如 strBaseline)的基礎上,您可以構造一個文件名,例如
文件名=簡稱|| “_” ||基線|| “.pdf” ;
然後要自動保存報告,您可以編寫如下內容:
西北<<保存PDF (文件名);
如果您想將其另存為 JMP 報告,我不確定如何或是否可以自動完成,但您可以將其另存為日記:
文件名=簡稱|| “_” ||基線|| “.jrn” ;
西北<<保存日記(文件名);
- 戴夫