Cambiar el filtro Dónde en el Constructor de gráficosSi he creado un gráfico con una cláusula Where(), ¿cómo puedo cambiar ese filtro desde un script?
Puedo hacerlo con un filtro de datos local, pero no puedo cambiar la cláusula Where aunque puedo leerla usando << Get Where Expr
Ejemplo:
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"
¿Cómo puedo cambiar es para que quede restringido a :sexo == "M" más adelante en el script?
Estoy usando JMP 18.2.
Automatización y scriptingRe: Cambiar el filtro Dónde en el Constructor de gráficosNo creo que se pueda cambiar la expresión Where en un generador de gráficos ya creado. Si se desea cambiarla, se puede usar el filtro de datos local, que está oculto, y actualizar las selecciones.
Re: Cambiar el filtro Dónde en el Constructor de gráficosSi está bien crear un nuevo gráfico, puedes trabajar con el script, reemplazar la expresión Dónde() con una nueva y luego evaluar el nuevo código:
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)