グラフビルダーのWhereフィルターを変更するWhere() 句を使用してグラフを作成した場合、スクリプトからそのフィルターを変更するにはどうすればよいですか?
ローカルデータフィルターで実行できますが、 << Get Where Exprを使用して読み取ることができるにもかかわらず、Where句を変更できないようです。
例:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Where( :sex == "F" )
);
gb << get where expr; // outputs :sex == "F"
スクリプトの後半でgb を:性別 == "男性"に制限するように変更するにはどうすればよいでしょうか?
JMP 18.2を使用しています。
自動化とスクリプトRe: グラフビルダーのWhereフィルターの変更既に作成されたグラフビルダーのWhere式は変更できないと思います。変更したい場合は、非表示になっているローカルデータフィルターを使用して、その選択を更新してください。
Re: グラフビルダーのWhereフィルターの変更新しいグラフを作成しても問題ない場合は、スクリプトを操作して、 どこ()式を新しい on に置き換え、新しいコードを評価できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Where( :sex == "F" )
);
script = gb << get script;
whereexpr= extract expr(script, Where(wildList()));
Substitute into (script, Name Expr(where expr), Expr(___W___));
<BR />// later:
new whereexpr = Expr(Where( :sex == "M" ));
Substitute into (script, Expr(___W___) , Name Expr(new whereexpr));
Eval(script)