Forループと列リストこんにちは、
毎回異なるデータ列を視覚化するためのグラフ ビルダーを構築しようと考えています。グラフ ビルダーは、任意の数の入力列 (8 未満) を取得できる必要があります。入力 GUI を構築しましたが、y 値が記録されていないようです。選択した Y 列データをグラフ ビルダーに正しく渡すにはどうすればよいですか? よろしくお願いします。


自動化とスクリプトデータアクセスウィンドウズRe: For ループと列リストご利用ください
アイコンをクリックすると、JSL が表示されます。これにより、読者はコードをテストして応答することができます。コードの画像を貼り付けるとこれができなくなるため、多くの回答者は JSL を再入力するのにかかる時間を考慮して応答しないことを選択するでしょう。
Re: For ループと列リスト埋め込まれたログには、「指定された列がデータ テーブルに見つかりません。'For' のアクセスまたは評価、For/*###*/(j = 1、j <= Min( 8、N Items( yCol ) )、j++、Y( Eval( yCol[j] ) ))」と表示されています。
しかし、私が使用した列はデータ テーブルに明確に存在します。
Re: For ループと列リストnames Default To Here(1);
MyGraph = Function ({yCol,xCol},{default local},
vlb = VListBox(
Graph Builder(
Size( 1255, 981 ),
Show Control Panel( 0 ),
Variables(
X( Eval(xCol) ),
For(j = 1, j <= Min(8, N Items(yCol)), j++,
Y( Eval(yCol[j])) // Evaluate each yVar
),
Group X( :Temperature )
),
Elements( Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Y( 5 ), Y( 6 ), Y( 7 ), Y( 8 ), Legend( 11 ) ) ),
Local Data Filter(
Add Filter(
columns( :Test Stage, :Sublot, :Temperature, :Soft Bin ),
Display( :Test Stage, N Items( 4 ) ),
Display( :Soft Bin, N Items( 15 ) )
)
)
)
);
return(vlb);
);
dt = CurrentDatatable();
nw = NewWindow("Column Selection", <<MODAL></MODAL>Re: For ループと列リストアドバイスありがとうございます。これが私の完全なスクリプトです。
Re: For ループと列リスト最初に変数を準備し、次に insert into を使用してそれらをグラフ ビルダーに挿入することができます。
MyGraph = Function ({yCol,xCol},{default local},
vars= Eval Expr(Variables(
X( Expr(xCol) ),
Group X( :Temperature )
));
pts= Expr(Points( X));
For(j = 1, j <= Min(8, N Items(yCol)), j++,
Insert Into(vars, Eval Expr(Y( Expr(yCol[j]))));
);
gb = Expr(
Graph Builder(
));
Insert Into(gb, Name Expr(vars));
VListBox(gb)
);Re: For ループと列リストこのようなことは、一度簡単になるはずです:folded_hands: 式のインデックス作成: 読み取りおよび書き込みアクセスは、 JMP の将来のバージョンで利用可能になります...
そうすれば、さまざまな部分を準備してから最終的な表現を構築する必要がなくなり、最終的な表現の下書きを直接作成し、それを任意のレベルで操作できるようになります。
例えば、Y変数を追加するには
Insert Into ( gbExpression["Variables"], Expr(Y(:age)))
Re: For ループと列リストうまくいきました!本当にありがとうございます!