可変性チャートでの For ループと Dispatch() コマンドの組み合わせこんにちは、みんな、
私はJMPとプログラミング全般に不慣れです。 私の現在の課題:
800 列の大きなデータ テーブルがあります。 ここで、Variability Chart を使用してボックス プロットを作成したいと思いますが、リストを使用して、最初に 800 の列からどの列を使用するかを定義します。 次に、以下に示すように For ループを作成します。
連結を機能させるための適切な構文は何ですか?
ありがとう
Datalist_log = {Test1, Test2, Test33, Test50}; //first I define the list with the tests I Need. It needs to be like this in the code.
imax = N Items( Datalist );
//Boxplots
For( i = 1, i <= imax, i++,
Variability Chart(
Y( Datalist_log[i] ), //Loop cycling through the list putting the respective column on the Y axis
X( :wafernr ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 1 ),
Show Box Plots( 1 ),
SendToReport(
Dispatch(
{"Variability Chart for Test1"}, <BR />// This is how it looks when it works. <BR />//But I need to replace the hard coded string with an element from<BR />//the list defined above as a part of the Loop, for example:
{"Variability Chart for " ||Datalist_log[i]}, <BR />//This is my most promising attempt. But I have failed to understand how the concat works.
//If i manually change the argument to <BR />//{"Variability Chart for XYSomethingElse"}, the outcome is the same, meaning that the <BR />//formatting commands (lot plot, scientific axis etc.) that follow are all ignored.
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000000001 ), Max( 0.000001 ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( UpperSpec_log[i], "Dotted", "Black", "USL", 2 )}
),
Dispatch(
{"Variability Chart for Test1"},
"Variability Chart",
FrameBox,
{Frame Size( 600, 240 ), Marker Size( 1 ),
DispatchSeg( Box Plot Seg( 1 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 2 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 3 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 4 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 5 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 6 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 7 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 8 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 9 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 10 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 11 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 12 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 13 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 14 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 15 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 16 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 17 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 18 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 19 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 20 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 21 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 22 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 23 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 24 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 25 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} )}
),
Dispatch( {"Variability Chart for Test1"}, "", NomAxisBox, {Set Width( 573 ), Set Height( 21 )} ),
Dispatch( {"Variability Chart for Test1"}, "Varability Std Chart", FrameBox, {Frame Size( 559, 180 )} )
)
//)
);
Re: 可変性チャートで For ループと Dispatch() コマンドを組み合わせるあなたのコード スニペットでは、問題を特定できません。私の最初の提案は、JMP をシャットダウンしてから再起動することです。まれに、JMP が混乱することがあります。JMP を再起動すると、そのメモリがクリアされます。
完全なスクリプトとサンプル データ テーブルを提供していただけると助かります。
Re: 可変性チャートで For ループと Dispatch() コマンドを組み合わせるこんにちはジム、
投稿を 4 ~ 5 回編集した後、何かが起こりました。サイトは、表示される前に確認する必要があると言い、その後消えてしまいました。 それが私が答えを見なかった理由です。
実際、最初の質問を投稿した後、何か間抜けなことをしたところ、うまくいったので、うまくいったと思いました。 しかし、Dispatch() の後に何を書いても機能することがわかりました (以下を参照)。
Eval、Expr、および Substitute が実際に何をするかを理解しようとします。 どうもありがとう
For( q = 1, q <= kmax, q++,
Variability Chart(
Y( Datalist_log[q] ),
X( :wafernr ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 1 ),
Show Box Plots( 1 ),
Disp_String = concat Items ({VarChartText,Datalist_log[q]}), //This is useless
SendToReport(
Dispatch(Disp_stringxyuz12034823048, //Does not matter what I write here
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000000001 ), Max( 0.000001 ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( UpperSpec_log[q], "Dotted", "Black", "USL", 2 )}
),
Dispatch(Disp_Stringsomethingelse,
"Variability Chart",
FrameBox,
{Frame Size( 600, 240 ), Marker Size( 1 ),
DispatchSeg( Box Plot Seg( 1 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot S
...
...
...Re: 可変性チャートで For ループと Dispatch() コマンドを組み合わせるこれは、JSL の非常に強力な機能である Substitution を使用してコードを書き直したものです。そのリストを入手できなかったため、UpperSpec_log 参照行をコメントアウトしました。ただし、Variability Chart Platform を実行する前に、これらの仕様限界を列のプロパティとして列に追加すると、Variability Chart Platform は自動的にそれらの仕様限界をプロットします。制限が列のプロパティとして追加されると、多くのプラットフォームで仕様制限を表示できるようになります。
ここに私の作り直したコードがあります
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Try(dt:Wafer << Set Name( "wafernr" ));
Datalist_log = {NPN1, PNP1, NPN2}; //first I define the list with the tests I Need. It needs to be like this in the code.
imax = N Items( Datalist_log );
//Boxplots
For( i = 1, i <= imax, i++,
Eval(
Substitute(
Expr(
Variability Chart(
Y( __DataList__ ), //Loop cycling through the list putting the respective column on the Y axis
X( :wafernr ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 1 ),
Show Box Plots( 1 ),
SendToReport(
Dispatch(
{__VarChart__},
// This is how it looks when it works.
//But I need to replace the hard coded string with an element from
//the list defined above as a part of the Loop, for example:
//{"Variability Chart for " || Datalist_log[i]},
//This is my most promising attempt. But I have failed to understand how the concat works.
//If i manually change the argument to
//{"Variability Chart for XYSomethingElse"}, the outcome is the same, meaning that the
//formatting commands (lot plot, scientific axis etc.) that follow are all ignored.
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 0.0000000001 ), Max( 0.000001 ), Inc( 1 ), Minor Ticks( 0 )//,
//Add Ref Line( UpperSpec_log[i], "Dotted", "Black", "USL", 2 )
}
),
Dispatch(
{__VarChart__},
"Variability Chart",
FrameBox,
{Frame Size( 600, 240 ), Marker Size( 1 ), DispatchSeg(
Box Plot Seg( 1 ),
{Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )}
), DispatchSeg( Box Plot Seg( 2 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 3 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 4 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 5 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 6 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 7 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 8 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 9 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 10 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 11 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 12 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 13 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 14 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 15 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 16 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 17 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 18 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 19 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 20 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 21 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 22 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 23 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 24 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} ),
DispatchSeg( Box Plot Seg( 25 ), {Box Type( "Outlier" ), Line Color( "Red" ), Line Width( 2 )} )}
),
Dispatch( {__VarChart__}, "", NomAxisBox, {Set Width( 573 ), Set Height( 21 )} ),
Dispatch( {__VarChart__}, "Varability Std Chart", FrameBox, {Frame Size( 559, 180 )} )
)
)
),
Expr( __DataList__ ), Parse( ":" || Char( DataList_Log[i] ) ),
Expr( __VarChart__ ), "Variability Chart for " || Char( DataList_Log[i] )
)
)
);