こんにちは、
私はJSLの初心者であり、助けが必要です。変動プロットのスクリプトを取得したいのですが、変動概要レポートが必要かどうかを制御する値を渡したいと思います。以下に示すように次のことを試しましたが、常に変動性の概要レポートを印刷するようです。
以下のコードでは、コントロールが1に設定されている場合、変動性サマリーレポートが必要です。0に設定した場合、変動性要約レポートを無効にしたい...
変動性要約レポートにハードコーディングする場合( 1 )または変動性要約レポート( 0 ) できます
control = 0;
New Window( "Variability Chart of RRAW_BER",
V List Box(
Variability Chart(
Y( :RRAW_BER ),
X( :SERIAL_NUM, :HD_PHYS_PSN, :DATA_ZONE ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Variability Summary Report( control ),
SendToReport(
Dispatch(
{"Variability Chart for RRAW_BER"},
"Variability Chart",
FrameBox,
{Row Legend(
:SPC_ID_x,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
)
);
これは多少驚くべきことですが、簡単な回避策があります。 この行を入れ替えるだけです:
parse(eval insert("Variability Summary Report( ^control^ )"))
ハッキングのビットですが、それはあなたのために働くはずです。 文字列内の「control」の値を評価し、評価のために文字列を式に解析します。
より明確な解決策は、変動性チャートオブジェクトに名前を付け、変動性チャートを追加するようにメッセージを送信するか、変動性レポートが既に存在した後にしないことです。 次に、2つの因子を横断するサンプルデータの例を示します。
dt = Current Data Table();
control = 1;
varchart = dt << Variability Chart(
Y( :Measurement ),
X( :Operator, :part# ),
Standard( :Standard )
);
if(control, varchart << Variability Summary Report( 1 ))
どうもありがとう @cwillden 感謝します.. 簡単な回避策は私のスクリプトによく合っているので気に入っていますが、うまく機能していないようです(変動性の要約はまったく得られません)。ただし、提供されたよりクリーンなソリューションは機能します。