現在の表示ウィンドウに新しい解析出力を追加する以下の私のスクリプトでは、スクリプトが実行されている間はwinSPCdataの2番目の追加はウィンドウに追加されませんが、戻ってその部分を実行するとウィンドウに追加されます。 なんでこんなことが起こっているの?
winSPCdata = New Window("Post data", outline box( "Charts",
)
);
ColListCD = dtStackedSPC2 << get column names;
ColListCal = dtAFMSplitData << get column names;
for(a=6, a<= 11, a++,
winSPCdata << append (dtStackedSPC2 << Variability Chart(
Y( ColListCD[a] ),
X( :CreatedOnDateTimeUTC, :Lot ID, :Stamp ID, :Prints ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 )
);
);
);
for(b=5, b<=9, b++,
winSPCdata << append (dtAFMSplitData << Variability Chart(
Y( ColListCal[b] ),
X( :CreatedOnDateTimeUTC )
);
);
);
再:現在の表示ウィンドウに新しい分析出力を追加する「2回目の追加」と言った場合、最初のループを2回目に通過するのか、それとも変数bを2回目にループするのを意味するのでしょうか。ログに何か表示されていますか?
可変性チャートの1つが起動に失敗し、スクリプトが終了したのではないかと思います。 おそらく、Yの1つが数値ではありませんか。
再:現在の表示ウィンドウに新しい分析出力を追加するコメントありがとうございます。最初のループは実行されますが、チャートを最初のループとは異なるデータタブに関連付ける2番目のループは実行されません。 しかし、その後は、その2番目のループだけを強調してその部分だけを実行すると、問題なく動作します。 その2番目のテーブルからの正しい分析でウィンドウを更新します。 スクリプトを停止せずに別のテーブルからウィンドウに分析を追加することはできないようで、その2番目のループだけを実行します。
ありがとう
ブラッド
再:現在の表示ウィンドウに新しい分析出力を追加するログにエラーメッセージがないことを確認しましたか?最初のループは6つの列にわたって繰り返されます - 6つのレポートすべてがウィンドウに表示されますか?どのようにして2番目のループが「実行されていない」ことを確認しているのかわかりません。 ログメッセージではっきりしない場合は、Print()ステートメントを追加したり、JSLデバッガを使用してスクリプトの停止位置を正確に確認したりできます。
私はあなたのスクリプトをサンプルデータ(それぞれ1つのY)で実行するように修正しました、そしてJMP 14では複数のテーブルを使用しても問題はありません。
winSPCdata = New Window("Charts", outline box( "Charts",
)
);
dt1 = Open( "$SAMPLE_DATA/Variability Data/2 Factors Crossed.jmp" );
col1 = dt1 << get column names;
dt2 = Open( "$SAMPLE_DATA/Variability Data/MSALinearity.jmp" );
col2 = dt2 << get column names;
for(a=1, a<=1, a++,
winSPCdata << append (dt1 << Variability Chart(
Y( col1[a] ),
X( :Operator, :part# ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 )
);
);
);
for(b=1, b<=1, b++,
winSPCdata << append (dt2 << Variability Chart(
Y( col2[b] ),
X( :Part )
);
);
);