"Graph Builder" agrega la función On Colse(), excepción cuando se ejecuta el cifradoExperto de la comunidad JMP, soy de China.
La siguiente descripción del problema proviene de la traducción automática. No te preocupes porque la gramática puede ser un poco extraña.
Tengo algunos problemas con un posible error en el script JMP17. Le agradecería que pudiera buscar ayuda de los expertos para abordar este asunto.
He creado un script para "Graph Builder". Para cerrar automáticamente la tabla de datos a la que se hace referencia cuando se cierra Graph Builder, agregué el siguiente script usando On Close():
gb << On Close( Close( gb << Get Data Table, nosave ) );
Pero como tengo muchas tablas de datos y necesito generar gráficos simultáneamente a través del bucle for(), optimicé el siguiente script:
Eval( Eval Expr( Expr( gb ) << On Close( Close( Expr( gb ) << Get Data Table, nosave ) ) ) );
Sin embargo, surgió un problema inesperado. Si bien no hubo problemas al ejecutar el script normalmente, cuando lo cifré y ejecuté, se informó una excepción al cerrar el gráfico, lo que me dejó bastante perplejo.

El siguiente es un script de prueba completo. Se agradecería mucho su ayuda para analizar este problema.
Names Default To Here( 1 );
fileList = {"big class.jmp", "Big Class Families.jmp"};
For Each( {file, i}, fileList,
dt = Open( Eval Insert( "$sample_data/^file^" ), "invisible" );
gb = dt << Graph Builder(
Size( 917, 645 ),
Variables( X( :sex ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 5 ) ),
Box Plot( X, Y, Legend( 6 ) ),
Caption Box( X, Y, Legend( 9 ), Summary Statistic( "Mean" ), Location( "Graph per factor" ), X Position( "Left" ) )
),
SendToReport(
Dispatch( {}, "Points", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Box Plot", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Caption Box", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Caption Box", Outline Box( 2 ), {Close( 1 )} )
)
);
Eval( Eval Expr( Expr( gb ) << On Close( Close( Expr( gb ) << Get Data Table, nosave ) ) ) );
);
Automatización y secuencias de comandosventanasRe: "Graph Builder" agrega la función On Colse(), excepción cuando se ejecuta el cifradoHe replicado su error al cerrar con un script cifrado. Creo que es un error de JMP y le sugiero que envíe el problema al soporte de JMP.
soporte@jmp.com
Re: "Graph Builder" agrega la función On Colse(), excepción cuando se ejecuta el cifradoNo estoy seguro de dónde sale mal cuando el script está cifrado, pero esto parece funcionar (modifiqué la evaluación de cierre y expresión)
Names Default To Here(1);
fileList = {"big class.jmp", "Big Class Families.jmp"};
For Each( {file, i}, fileList,
dt = Open(Eval Insert("$sample_data/^file^"), "invisible");
gb = dt << Graph Builder(
Size(917, 645),
Variables(X(:sex), Y(:height)),
Elements(
Points(X, Y, Legend(5)),
Box Plot(X, Y, Legend(6)),
Caption Box(
X,
Y,
Legend(9),
Summary Statistic("Mean"),
Location("Graph per factor"),
X Position("Left")
)
),
SendToReport(
Dispatch({}, "Points", OutlineBox, {Close(1)}),
Dispatch({}, "Box Plot", OutlineBox, {Close(1)}),
Dispatch({}, "Caption Box", OutlineBox, {Close(1)}),
Dispatch({}, "Caption Box", Outline Box(2), {Close(1)})
)
);
Eval(EvalExpr(
gb << On Close(
Close(Expr(dt), nosave);
);
));
);
Re: "Graph Builder" agrega la función On Colse(), excepción cuando se ejecuta el cifradoGracias Jarmo . De hecho, este es un buen método.
Utilizo "gb << On Close(Close(gb << Get Data Table, nosave))" Es para vincular gb y dt, pero parece que olvido que están vinculados originalmente.
Si bien debería ser sintácticamente correcto, esto podría ser un error interno en un script JSL. Seguiré el consejo de @txnelson y remitiré este problema al soporte de JMP.
Re: "Graph Builder" agrega la función On Colse(), excepción cuando se ejecuta el cifradoGracias, Jim.
Esto realmente podría ser un error JSL, ya que Jarmo tampoco parece ser capaz de explicar la causa de este error. Aceptaré su sugerencia para enviarla al soporte de JMP.
Además, Jarmo comparte una forma inteligente de solucionar este problema que podemos aprender juntos.