borrando columna con referenciasHola
Escribí un script para eliminar una columna.Sin embargo, recibo un error que dice "No se puede eliminar esta columna mientras la fórmula hace referencia a otra columna. "
No hay fórmula, pero si uso la opción "Eliminar referencias" manualmente, puedo eliminar la columna manualmente.
Necesito aprender a usar esta función en mi secuencia de comandos para usar "Eliminar referencias"
Estoy usando JMP 16.1.0
Modelado Estadístico AvanzadoAutomatización y secuencias de comandosInvestigación del Consumidor y del MercadoFusión y limpieza de datosRe: eliminar columna con referenciasEl problema que informé al soporte de JMP ahora se ha revelado como un error y se ha informado a I+D.
Debido a que es posible eliminar fórmulas de forma interactiva, se me ocurrió que podría usar << Eliminar propiedad ("Fórmula") en lugar de << Eliminar fórmula y parece funcionar, pero tendría mucho cuidado con las fórmulas al crear tablas de resumen ya que podrían tener algunas interacciones muy extrañas
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//create some formula colums
dt << New Column("deduction", Numeric, "Continuous", Format("Best", 12), Formula(:height - :weight));
dt << New Column("concat_col", Character, "Nominal", Formula(:name||"_"||Char(:name)));
dt_summary = dt << Summary(
Group(:name,:sex, :concat_col),
Mean(:height),
Mean(:deduction),
Freq("None"),
Weight("None"),
Link to original datatable(0)
);
Try(
f1 = Column(dt_summary, "concat_col") << Get Formula;
show(f1);
Column(dt_summary, "concat_col") << Delete Formula;
f2 = Column(dt_summary, "concat_col") << Get Formula;
show(f2);
,
show(exception_msg);
);
Try(
f3 = Column(dt_summary, "concat_col") << Get Formula;
show(f3);
Column(dt_summary, "concat_col") << Delete Property("Formula");
f4 = Column(dt_summary, "concat_col") << Get Formula;
show(f4);
dt_summary << Delete Column("name");
,
show(exception_msg);
);
/*
Close(dt_summary, no save);
Close(dt, no save);
*/Re: eliminar columna con referencias¿El problema está relacionado con la tabla de resumen?
Acabo de notar hoy un comportamiento extraño con las tablas de resumen cuando traté de eliminar fórmulas. Actualmente estoy probando el problema y enviaré un ticket al soporte de JMP después de un ejemplo adecuado. También puedo publicar el ejemplo aquí después de que esté listo.
Editar:
Aquí hay un ejemplo rápido sobre el problema que encontré hoy (rara vez uso fórmulas...):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//create some formula colums
dt << New Column("deduction", Numeric, "Continuous", Format("Best", 12), Formula(:height - :weight));
dt << New Column("concat_col", Character, "Nominal", Formula(:name||"_"||Char(:name)));
dt_summary = dt << Summary(
Group(:name,:sex, :concat_col),
Mean(:height),
Mean(:deduction),
Freq("None"),
Weight("None"),
Link to original datatable(0)
);
Try(
dt_summary << Delete Column("name");
,
show(exception_msg);
);
Try(
f = Column(dt_summary, "concat_col") << Get Formula;
show(f);
Column(dt_summary, "concat_col") << Delete Formula;
,
show(exception_msg);
);
/*
Cannot delete column "name" while it is referenced by the formula of column "concat_col".
Removing a formula leaves the data unchanged. Removing references replaces each reference with an empty value. These effects are permanent and cannot be undone.
f = :name || "_" || Char(:name);
exception_msg = {"Column concat_col has no formula"(1, 2, "Delete Formula", Delete Formula /*###*/)};
*/
La fórmula no está visible en la lista de columnas de la izquierda y la fórmula tampoco está visible en el cuadro del panel Fórmula.

La fórmula está allí si hago clic en Editar fórmula. Y si cambio "_" en concatenar a " ", la fórmula desaparece, la columna se bloquea y los valores se cambian en la tabla de datos:


La solución simple en este caso podría ser eliminar primero todas las fórmulas de la tabla de datos original antes de crear la tabla de resumen, pero creo que las fórmulas no deberían copiarse (solo valores) en la tabla de resumen, ya que podría tener un comportamiento muy extraño. dependiendo de las fórmulas.
Edit2:
Ahora he enviado un ticket sobre este problema/función que describí al soporte de JMP.
Re: eliminar columna con referenciasMe pregunto si hay una columna de fórmula oculta. Si realmente no hay una columna de fórmula, suena como un error, y enviar la tabla al soporte técnico podría ayudar a solucionarlo.
Re: eliminar columna con referenciasEs posible que desee dar un paso atrás y considerar el enfoque que está utilizando. En lugar de solucionar este problema, podría evitarse en primer lugar. Por ejemplo, ¿por qué usa una fórmula en la otra columna de datos? ¿Por qué quieres eliminar una columna?
Es posible que pueda usar otras formas de completar una columna de datos que no involucren fórmulas en absoluto. La única razón para usar una fórmula al crear scripts de JMP es si necesita que la columna de datos se actualice cuando cambie la tabla de datos. De lo contrario, hay otras formas.
¿Puedes publicar tu guión? ¿O describir los pasos que toma su guión?
Re: eliminar columna con referencias¿Puede proporcionar una tabla de datos de muestra?