在图形生成器中更改“Where”过滤器如果我已经创建了一个带有 Where() 子句的图表,那么如何从脚本中更改该过滤器?
我可以使用本地数据过滤器来做到这一点,但似乎无法更改 Where 子句,尽管我可以使用<< Get Where Expr读取它
例子:
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"
如何在脚本中将英国更改为限制为:性别==“男” ?
我正在使用 JMP 18.2。
自动化和脚本回复:在图形生成器中更改“Where”过滤器我认为您无法在已创建的图表生成器中更改 Where 表达式。如果您想更改这些表达式,可以使用隐藏的本地数据过滤器,并更新其上的选择。
回复:在图形生成器中更改“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)