你好JMP-ers / JSL-ers,
我使用JSL生成了可變性圖表。 下面的腳本示例。
在JMP中生成圖表之後,我想通過將輸入更改為可變性圖表來進一步分析。 示例,交換:批次和:X字段中的機器。 為了快速輕鬆地執行此操作,我單擊JMP表(已打開)上的Variability Chart圖標,然後單擊Recall,以便我可以從那裡(通過GUI)修改為我喜歡的新配置。
但是,單擊Recall不起作用 - 它沒有帶回以前從JSL生成的配置。
到達我想做的事情的任何已知的解決方法?
謝謝。
infile = "C:/" || "Diameter" || ".jmp";
jmpExists = 1;
if (
File Exists (infile), dt = Open (infile),
jmpExists = 0;
);
if (jmpExists == 1,
w1 = New Window( "Variability Chart",
OutlineBox("Variability Chart for Diameter",
V List Box(
Variability Chart(
Y( :Measurement ),
X( :Lot, :Machine, :Material, :Batch, :Year, :Month ),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
Process Variation( 0 ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
Points Jittered( 1 ),
Show Separators( 1 ),
Show Range Bars ( 0 ),
By( :Test_Facility ),
SendToReport(
Dispatch( {"Variability Gauge Test_Facility=Vietnam","Variability Chart for Measurement"},"2",ScaleBox,
{
Label Row( Show Major Grid( 1 ) )
}
),
Dispatch( {"Variability Gauge Test_Facility=China","Variability Chart for Measurement"},"2",ScaleBox,
{
Label Row( Show Major Grid( 1 ) )
}
),
)
)
)
),
),
);您可變性圖表中的硬編碼組件可以採用不同的方式處理。 在您從Variablity Chart生成的腳本中,實際發生的是,在創建圖表之後,“SendToReport”下的代碼部分實際上是向圖表的報表對象發送消息。 可以在JSL中引用顯示的報表中的每個單獨對象。 所以你需要探索的是報告對象。 “腳本指南”中的第11章
幫助==>圖書==>腳本指南
是一個很好的入門資源。 但是,有針對性的文檔是腳本索引
幫助==>腳本索引
對於您的特定示例,SendToReport代碼正在執行的操作實際上是將信息發送到圖形的其中一個AxisBox對象。 為了說明如何更改“顯示主要網格”而不必滿足跟踪不同名稱等的所有要求,您可以轉到
幫助==>腳本索引==>顯示主網格
在那裡,您將看到文檔,以及如何執行此操作的示例。 來自indes的例子是:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
FitLine
);
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Show Major Grid( 1 );
在示例中,在設置Major Grid時沒有提到實際的列名。 然而,它指向Axis Box(1).. 在此示例中,每個軸都有一個軸箱,因此有AxisBox(1)和AxisBox(2)。 不同的平台將有不同的配置。 您的任務是打開給定輸出報告的樹結構並確定您需要處理的對象。 要執行此操作,請轉到灰色三角形,單擊此按鈕將展開並折疊輸出中的區域。 右鍵單擊三角形並選擇
編輯==>顯示樹結構
我建議你從上面的例子開始,而不是你的可變性圖表,所以你不會被淹沒。
它非常非常強大
你好吉姆,
感謝您的建議,它比手動調用這些參數更好。
還有一個問題,如果可以的話。 為了格式化可變性圖表,例如顯示主要網格或旋轉刻度標籤,正如您從我的JSL中看到的那樣,有一部分需要進行硬編碼 - 因為它被繪製了:Test_Facility,調度需要要求每個Test_Facility,即 越南和中國。 這會產生一個問題:(1)Test_Facility可以從數據表更改為數據表(它是變量),(2)在我們有許多Test_Facility的情況下需要寫入重複(因此很長)的代碼。
我想知道是否有更好/更聰明的方法來編碼?
由於您沒有使用GUI來運行可變性平台,因此Recall功能將不可用。 我建議你做的是,從輸出顯示中的紅色三角形,轉到:
重做==>重新啟動分析
它將顯示填充了值的GUI