Necesita ayuda con Suppress Eval y Eval FormulaHay varias preguntas aquí que no entiendo:
- ¿Por qué Suprimir Eval a veces parece activarse automáticamente al crear fórmulas?
- Una vez activado (accidentalmente o de otro modo), ¿cómo hago para que las fórmulas vuelvan a evaluar sin desactivar la supresión manualmente columna por columna (o estandarizar los atributos)?
- Encontré las fórmulas Suppress Formula Eval y Rerun en el punto de acceso de la tabla de datos, pero una vez que la supresión se activa manualmente, parece que no funcionan.
- En JSL, ¿cómo hago que esto funcione? (Éxito limitado usando dt << Suprimir Eval (0) y dt << Volver a ejecutar fórmulas, o especificando columnas específicas).
Adjunto una tabla de datos muy simple con 2 columnas suprimidas. ¿¿Qué estoy haciendo mal??
Re: Necesito ayuda con Suppress Eval y Eval FormulaTablas-> Ordenar también tiene la opción Supress Eval.
Re: Necesito ayuda con Suppress Eval y Eval FormulaGracias Jeff! Esto en realidad puede ser la raíz de los problemas de "supresión accidental" del cliente. Lo pasaré.
Re: Necesito ayuda con Suppress Eval y Eval FormulaAdemás de los errores al crear fórmulas que pueden dar lugar a un aviso para suprimir la evaluación, probablemente la forma más común para que las columnas se configuren para suprimir la evaluación es a través del menú Tablas.
Tablas-> Subconjunto tiene una opción que está activada de forma predeterminada para suprimir eval.

Apilar y Unir tienen opciones similares.
Re: Necesito ayuda con Suppress Eval y Eval FormulaGracias Jerry!
Re: Necesito ayuda con Suppress Eval y Eval FormulaGracias brady! Como de costumbre, el diablo está en los detalles. Diferencias sutiles que no había captado.
Entonces, si entiendo correctamente, la supresión de columnas individuales debe borrarse individualmente. La supresión de la tabla de datos es algo diferente y se borra del nivel de la tabla de datos.
FYI, esto vino de una solicitud del cliente. Tenía columnas individuales que se configurarían para Suprimir Eval (de alguna manera), luego no se actualizarían. Estaba buscando un simple botón "Recalc All". ¿Crees que sería una característica útil para agregar algún día?
Re: Necesito ayuda con Suppress Eval y Eval FormulaDebería haber sido más explícito acerca de la tabla de datos dt = current ().
Si tu guion
dt = tabla de datos actual;
en lugar de
dt = tabla de datos actual ();
dt NO estará vinculado a un identificador de tabla de datos ... estará vinculado a cualquier valor de la variable con el nombre de 'tabla de datos actual'. Es casi seguro que esta variable será indefinida.
Entonces, los mensajes de la tabla de datos enviados a dt caerán en oídos sordos en este caso. Esto por sí solo es suficiente para hacer que falle el script original.
Re: Necesito ayuda con Suppress Eval y Eval FormulaLo único que agregaría es que parece que una columna aceptará: Suprimir Eval (0 | 1) o Suprimir Fórmula Eval (0 | 1), mientras que la tabla solo responde a Suprimir Fórmula Eval (0 | 1). Esto podría explicar el "éxito limitado" o las inconsistencias que estaba viendo. Además, la configuración de la columna prevalece sobre la configuración de la tabla.
Re: Necesito ayuda con Suppress Eval y Eval FormulaNo abordé 1) y 2).
1) Cuando una fórmula de columna arroja un error, se le solicita al usuario. Una opción es suprimir la evaluación.
2) No sé cómo desactivar la supresión, excepto por los métodos que menciona en la pregunta ... Esos son los métodos que he estado usando. No encuentro mucha represión. Básicamente solo cuando tengo un error en una fórmula y quiero solucionar el problema.
Re: Necesito ayuda con Suppress Eval y Eval FormulaHola jerry,
Los paréntesis son necesarios después de la Tabla de datos actual (), ya que es una función, toma 0 argumentos y devuelve un identificador a la tabla actual.
No uso mucho, pero por lo que puedo decir, parece que hay 2 niveles de supresión, nivel de tabla y nivel de columna. Para borrar la supresión de nivel de columna, use lo siguiente.
Tenga en cuenta que los mensajes son diferentes ... las columnas usan << suprimir eval (0 | 1) y las tablas usan << suprimir fórmula eval (0 | 1)
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << suppress eval( 0 )
);
Para borrar la supresión a nivel de tabla, use:
dt << Suppress Formula Eval(0);
dt << Rerun Formulas;
Esto está funcionando para mí en la tabla que proporcionó, pero no los he probado de otra manera, por lo que si alguien tiene algo que agregar / corregir, intervenga.
Salud,
Brady