Wie ändere ich die Gruppe X, um alle oder nur bestimmte Elemente anzuzeigen?Wie ändere ich die Gruppe X, um alle oder nur bestimmte Elemente anzuzeigen?
Wie im folgenden JSL-Dokument gezeigt, kann die Verwendung von „Where“ dazu führen, dass Gruppe X nur bestimmte Elemente anzeigt. Es ist jedoch nicht möglich, zwischen der Anzeige aller und der Anzeige von Teilelementen umzuschalten. Wie kann dies geändert werden? Möglicherweise ist die Verwendung von „add variable()“ erforderlich, aber ich kann nicht herausfinden, wie man „add where“ verwendet.
Names Default To Here( 1 );
selection = 1;
New Window( "Example",
cb = Combo Box( {"Only age 13 and 16", "All age"}, selection = (cb << Get()) ),
Button Box( "Plot",
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 528, 500 ),
Show Control Panel( 0 ),
Variables( X( :sex ), X( :age, Position( 1 ) ), Y( :height ), Group X( :age ) ),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 10 ) ) ),
If( selection == 1,
Where( Contains( {13, 16}, :age ) ),
),
);
)
);
Automatisierung und SkriptingBetreff: Wie ändere ich die Gruppe X, um alle oder nur bestimmte Elemente anzuzeigen?Sie haben mehrere verschiedene Optionen:
- haben zwei separate Graph Builder-Ausdrücke
- (versteckten) lokalen Datenfilter verwenden
- Erstellen Sie den Graph Builder-Ausdruck mit Where
- Verwenden Sie für den Graph Builder eine verknüpfte Teilmenge (die anhand Ihrer Bedingungen gefiltert wird).
Hier ist eine Möglichkeit, Where zu verwenden
Names Default To Here(1);
selection = 1;
New Window("Example",
cb = Combo Box({"Only age 13 and 16", "All age"}, selection = (cb << Get())),
Button Box("Plot",
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(Graph Builder(
Size(528, 500),
Show Control Panel(0),
Variables(X(:sex), X(:age, Position(1)), Y(:height), Group X(:age)),
Elements(Points(X(1), X(2), Y, Legend(10)))
));
If(selection == 1,
Insert Into(gb_expr, NameExpr(Where(Contains({13, 16}, :age))));
);
gb = Eval(EvalExpr(Send(dt, Expr(gb_expr))));
)
);