Cuando abro una tabla de datos, puedo usar la opción privada para ocultar la tabla de datos:
dt = Open( "$SAMPLE_DATA/Big Class.jmp", private );
La misma función también está disponible para operaciones de tablas como Subconjunto, Concatenar, etc.:
Data Table( "Big Class" ) << subset(1, Private)
Data Table( "Big Class" ) << Concatenate( Data Table( "Big Class" ), Private);
Para las IMF, no existe esa opción 
... hasta ahora, pero una fuerte demanda por parte de la comunidad:
Opción privada para importar varios archivos
En mis Scripts, mientras depuro, me gusta ver las tablas de datos, así que agregué:
//developerIsHere = 1
loadPrivate = If( Is Empty( developerIsHere ),1,0); // default: 1; for debugging automatically set to 0
dt = Open( "$SAMPLE_DATA/Big Class.jmp", private(loadPrivate ) );
con la idea:
As a developer, I can execute the developerIsHere = 1 behind the //
then the data table is opened with the option private(0) and I can see the data table and debug the code.
Asombrosamente,
Data Table( "Big Class" ) << subset(1, private(loadPrivate ) )
no "funciona", la tabla siempre se abre en modo privado, independientemente del valor actual de loadPrivate . Parece que las operaciones de tabla reaccionan ante la presencia de Private , independientemente del argumento.
Simplemente prueba los siguientes comandos:
current data table() << subset(1,Private(1));
current data table() << subset(1,Private(0));
current data table() << subset(1,Private("has no effect"));Todos ellos tienen el mismo efecto: el subconjunto se abre en modo Privado.
Mmm.
¿Existe alguna documentación sobre las diferencias entre Privado y Privado?
¿Hay algo menos complicado que haga lo mismo que:
Eval(Substitute(Expr(current data table() << Subset( 1,__p__)),Expr(__p__),If(loadPrivate,Expr(Private),1)));
TS-00127556
➥ Pequeñas-trampas-en-Jmp-y-JSL
Creo que un lío con las expresiones es la única opción bastante simple que tienes.
Names Default To Here(1);
DEBUG = 1;
If(IsEmpty(DEBUG),
TABLE_VISIBILITY = "Visible";
, DEBUG == 1,
TABLE_VISIBILITY = "Private";
, // else
TABLE_VISIBILITY = "Visible";
);
dt = Eval(EvalExpr(Open("$SAMPLE_DATA/Big Class.jmp", Expr(TABLE_VISIBILITY))));
dt_subset = Eval(EvalExpr(dt << Subset(dt, Expr(TABLE_VISIBILITY))));
dt_new = New Table("MyTable", Visibility(TABLE_VISIBILITY));
Show(dt, dt_subset, dt_new);
Maybe if all the messages/functions related to table creation didn't just use , argumentos opcionales sino que más bien tenía Como argumento (como una nueva tabla), algo como esto podría ser más fácil.