Sé que en JSL puedo cambiar la bandera Suppress Eval en columnas individuales para evitar que se evalúe la fórmula de esa columna.Esto es útil para fórmulas complejas que tardan un poco en evaluarse.Puedo evaluar una vez y suprimirlo, pero mantengo la fórmula intacta para poder volver y evaluar nuevamente más tarde si es necesario.
En algunas situaciones, cuando estoy realizando operaciones que se repiten en varias columnas, me gustaría saber el estado actual de la bandera Suppress Eval sin cambiarlo.No he podido encontrar ninguna forma de extraer esta información.Puedo establecer el valor en 1 o 0, pero no puedo alternarlo y no puedo obtener el valor actual.es posible?
Names Default To Here(1);
dt = Current Data Table();
col = Column(dt, "myColumn");
col << Suppress Eval(1); //suppresses formula eval
col << Suppress Eval(0); //un-suppresses formula eval
suppress_state = col << Suppress Eval; //does not work as expected. sets suppress eval to 1.
Show(suppress_state); //prints "suppress_state = Scriptable[]" in the log. current state not returned.
También noté que si Supress Eval ya está configurado en 1 y se ejecuta la línea "col << Supress Eval", se muestra la siguiente advertencia:
Un mensaje con un argumento booleano vacío habilitó una opción que ya estaba habilitada. Esa opción permanece habilitada. En versiones anteriores de JMP, esto habría desactivado la opción.
Entonces, en versiones anteriores de JMP, esta opción se podía alternar, pero esta funcionalidad se ha eliminado.
También miré la salida de Mostrar propiedades (col) y encontré solo una referencia a Supress Eval:
Suprimir Eval [booleano] [solo secuencias de comandos]
Entonces, esto significa que es una función que acepta un argumento booleano, no devuelve un valor y solo es accesible desde Scripting.¿Hay alguna forma de obtener el valor?
No conozco una forma directa de obtenerlo, sin embargo, este código tonto funcionará;
suppresseval = contains(char(:<YOURCOLUMNNAME> <<GET script=""></GET></YOURCOLUMNNAME>
Esa es una forma inteligente de hacerlo.¡Gracias!