Normalerweise ist es mir egal, wenn JMP (JSL) etwas tut, von dem ich nicht erwarte, dass es funktioniert, da es meistens funktioniert und es das Einzige ist, was mich interessiert ... aber heute habe ich mir etwas „Interessantes“ ausgedacht. . Wenn Sie Where() zum Filtern Ihrer Analyse verwenden, erhalten Sie eine private Datentabelle, die mit Ihrer Datentabelle verknüpft ist (mit einem ziemlich seltsamen Namen, in diesem Fall „Big Class, where -sex == -F-“).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
gb1 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3)))
),
gb2 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3))),
Where(:sex == "F")
)
)
);
Show(gb1 << Get Data Table);
Show(gb2 << Get Data Table);
/*
dt_private = gb2 << Get Data Table;
dt_private << New Data View;
*/
Daher habe ich einige Fragen zu diesem Verhalten:
- Passiert das immer, wenn ich Where() auf diese Weise verwende, um die Analyse herunterzufiltern (nicht nur im Graph Builder)?
- Ist das irgendwo dokumentiert?
- Gibt es in JMP weitere Interaktionen wie diese, bei denen Sie einige versteckte Dinge erstellen, auf die Sie dann möglicherweise stoßen? (Bei mir verursachte dies Probleme mit einer meiner Funktionen, da ich << Get Data Table verwendet habe, um die Referenz für die Datentabelle abzurufen Ich habe einen Fehler gemacht. Die einfache Lösung bestand darin, der Funktion einen Tabellenverweis als Parameter hinzuzufügen
- Sollte ich überhaupt so filtern?