Ändern des „Wo“-Filters im Graph BuilderWenn ich ein Diagramm mit einer Where()-Klausel erstellt habe, wie ändere ich diesen Filter über ein Skript?
Ich kann es mit einem lokalen Datenfilter tun, kann aber die Where-Klausel anscheinend nicht ändern, obwohl ich sie mit << Get Where Expr lesen kann
Beispiel:
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"
Wie ändere ich GB später im Skript, sodass es auf :sex == "M" beschränkt wird?
Ich verwende JMP 18.2.
Automatisierung und SkriptingBetreff: Wo-Filter im Graph Builder ändernIch glaube nicht, dass Sie den Where-Ausdruck im bereits erstellten Graph Builder ändern können. Wenn Sie diese ändern möchten, können Sie den ausgeblendeten lokalen Datenfilter verwenden und die Auswahl darauf aktualisieren.
Betreff: Wo-Filter im Graph Builder ändernWenn Sie mit der Erstellung eines neuen Diagramms einverstanden sind, können Sie mit dem Skript arbeiten, den Wo() -Ausdruck durch einen neuen ersetzen und dann den neuen Code auswerten:
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)