¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Suelo usar JMP para crear prototipos de pipelines de datos, calculando los valores de las columnas en una tabla y luego consultando los datos en otra tabla según los resultados. He observado un comportamiento que me parece muy extraño y contradictorio. Supongamos que tengo una tabla con tres columnas:

La segunda y la tercera columna se calculan como Lag ( :Columna 1 ) y Col Sum ( :Columna 1 ).
Ahora consulto las filas en una nueva tabla donde: Columna 1 > 2. El resultado es:

":Retardo de la Columna 1" y ":Suma de la Columna 1" se recalculan, ya que la tabla heredó las fórmulas. Esto es comprensible.
Pero ¿qué pasa si borro las fórmulas y actualizo la tabla? Entonces, como no tengo fórmulas ni recalculo los valores en la tabla de destino, veré los datos tal como están en la tabla de origen, ¿verdad? ¡Incorrecto! No cambia nada. Sigo viendo nulo, 3 y 7, 7, no 2, 3 y 10, 10.
¿Es un defecto? ¿O es lo esperado? ¿Cómo se explica?
¡Gracias!
Automatización y scriptingRe: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?¡Ay, una mezcla sorprendentemente tóxica: el generador de consultas y las fórmulas de columnas!
Algunas configuraciones como en Subconjunto

Eliminaría muchos dolores de cabeza.
Además de eso: una buena lupa para los detalles prácticos de JMP : )
¿Qué versión de JMP? ¿Puedes compartir los pasos del registro?
Lo probé con JMP 18.2.2 y 19.0, donde Retraso() se ejecuta después de ejecutar la consulta, Suma de columnas() no.
Después de eliminar las fórmulas, todo está bien.
[Tal vez: ¿hiciste referencia a una antigua tabla de datos "sin título" - con fórmulas?]


names default to here(1);
dt = New Table( "Untitled",
Add Rows( 4 ),
New Column( "Column 1",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] )
),
New Column( "Sum[Column 1]",
Formula( Col Sum( :Column 1 ) )
),
New Column( "Lag[Column 1]",
Formula( Lag( :Column 1, 1) )
)
);
dt << run formulas();
wait(0);
queryDT= Expr(New SQL Query(
Connection( "JMP" ),
Select(
Column( "Column 1", "t1" ),
Column( "Sum[Column 1]", "t1" ),
Column( "Lag[Column 1]", "t1" )
),
From( Table( "Untitled", Alias( "t1" ) ) ),
Where(
GT(
Column( "Column 1", "t1" ),
2,
UI( Comparison( Base( "Continuous" ) ) )
)
)
) << Run Foreground);
queryDT;
Column (dt, 2) << delete formula();
Column (dt, 3) << delete formula();
wait(0);
queryDT;
wait(0);
dt << set name("input");
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?¿Estás realizando la consulta a la tabla de datos de JMP? ¿De qué tabla estás eliminando fórmulas? ¿Podrías compartir conjuntos de datos de ejemplo para replicar el problema?
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Sí, la segunda tabla de la segunda captura de pantalla es el resultado de consultar la primera tabla de datos JMP de la primera captura de pantalla. Las tablas están adjuntas: colóquelas en la misma carpeta y ejecute el script "Actualizar desde la base de datos" en la segunda. La segunda tabla no contiene fórmulas; sin embargo, los resultados son como si las fórmulas existieran y se hubieran evaluado.
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?JMP Pro V.17
Se adjuntan tablas.
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?No es una buena solución alternativa, pero puede suprimir temporalmente la evaluación de fórmulas de la tabla original, ejecutar la consulta y volver a habilitar la evaluación de fórmulas (en mi opinión, esto ya debería suceder con el Generador de consultas).

Además, me gustaría comunicarme con el soporte de JMP sobre esto, ya que están sucediendo algunas cosas raras, Soporte de JMP
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Sugerencia para JMP 19.1:
Generador de consultas: deshabilitar la columna de fórmula
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Ah, interpreté mal el
¿Pero qué pasa si elimino las fórmulas y actualizo la tabla?
Vale, sigue igual en JMP19.
Entonces, ¿JMP ejecuta la consulta (incluidas las fórmulas) y reemplaza los datos en la tabla de destino con los nuevos resultados?
Esto es lo que esperaba con "Actualizar". Pero ¿por qué JMP no puede realizar una actualización como "mantener la tabla, solo actualizar los datos " si se ha añadido una nueva columna mientras tanto? En cuanto a la Columna 4 , parece que elimina todo lo que contenía y lo reemplaza con los nuevos resultados de la consulta.
Tal vez: toma el resultado de la consulta, pero copia y aplica la configuración de la columna anterior.
... eliminando así la fórmula de la columna y ocultando el problema?
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Sí, esta solución alternativa funciona. Otra solución alternativa poco práctica que utilizo es consultar todas las filas de una tabla intermedia sin fórmulas y luego consultar esta tabla intermedia.
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?¿Cuál fue la respuesta del soporte de JMP?
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?No los contacté. Prefiero contar con esta comunidad y conmigo mismo.:)
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?Hm, prefiero una solución oficial en lugar de "soluciones alternativas".
Arréglelo y olvídese.
¡Encuentra una solución y no lo olvides!
- ¡Y no te olvides de avisarle a todos tus compañeros!
Re: ¿Por qué se produce un recálculo tan inesperado de columnas sin fórmulas?En cuanto a "la comunidad y yo", agregué el tema a
Precaución: Lugares donde Jmp hace algo inesperado
Por otro lado, estoy bastante seguro de que este problema se puede resolver en la GUI.
Opciones similares a las de Subconjunto podrían ayudar al cliente a comprender el problema, y la opción predeterminada debería ser eliminar o deshabilitar la columna de fórmula.

Veamos si este comportamiento se considera un error: TS-00244891.
De lo contrario, tomará más tiempo, ya que primero debemos recolectar suficientes Kudos en la lista de deseos: Generador de consultas: deshabilitar la columna de fórmula