Por lo general, no me importa cuando JMP (JSL) hace algo que no espero que haga, ya que la mayoría de las veces funciona y es lo único que me importa ... pero hoy se me ocurrió algo "interesante". . Si usa Where() para filtrar su análisis, terminará con una tabla de datos privada que está vinculada a su tabla de datos (con un nombre bastante extraño, en este caso "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;
*/
Así que tengo algunas preguntas con respecto a este comportamiento:
- ¿Sucede esto siempre cuando uso Where() como este para filtrar el análisis (no solo en Graph Builder)?
- ¿Está esto documentado en alguna parte?
- ¿Hay más interacciones como esta en JMP donde crea algunas cosas ocultas que luego podría encontrar así (para mí esto causó problemas con una de mis funciones porque usé << Obtener tabla de datos para obtener la referencia de la tabla de datos pero se equivocó, la solución fácil fue agregar una referencia de tabla a la función como parámetro
- ¿Debería incluso hacer un filtrado como este?