Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)A menudo necesito copiar una serie de columnas de fórmulas de una tabla a otra.Aunque "Copiar propiedades de varias columnas" facilita el trabajo, no incluye el nombre de la columna.Como los nombres de mis columnas pueden ser bastante largos, lleva mucho tiempo hacer esto, incluso usando cortar y pegar, ya que puede haber muchas de estas columnas.¿Existe un método fácil para copiar las propiedades (fórmula, nombre y todo) de una tabla a otra?Me doy cuenta de que puedo escribir un script para hacer esto, pero pensé que tal vez no conocía alguna opción.
Tabla de datosRe: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)Debería haber añadido también este pequeño dato. Dado que algunas de mis fórmulas se referían a algunos de los otros nombres de columna nuevos, esas fórmulas fallaron cuando usé el orden que sugirió. Todas las fórmulas de columna funcionaron cuando primero copié los nombres y luego las fórmulas.Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)jerry_cooper,
Esto funcionó muy bien.No sabía sobre copiar nombres del Panel de columnas.
Tiene razón en que todavía no tengo JMP15, pero espero tenerlo después de que se lleve a cabo la fusión de mi empresa.
Palmadita
Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)Perdón @pcarroll1 ,
Me di cuenta de que probablemente no estés usando la versión 15; creo que esta es una característica nueva.
Puede hacer lo que quiera en versiones anteriores, aunque, como mencionó, los nombres de las columnas no transmiten. Sin embargo, hay un método para copiar varios nombres de columna de una tabla a otra.
Después de pegar las columnas de fórmula en la nueva tabla (con "Pegar propiedades de varias columnas"), regrese a su tabla de origen (asegúrese de que las columnas de fórmula aún estén seleccionadas), luego haga clic en la barra de encabezado en "Columnas "panel:

Escriba Ctrl-C para copiar los nombres de las columnas.Luego regrese a la tabla de destino y asegúrese de que sus nuevas columnas de fórmula aún estén seleccionadas, haga clic en el encabezado Columnas y luego presione Ctrl-V para pegar los nombres de las columnas. Obviamente, deberá asegurarse de no haber cambiado el orden de las columnas en ninguna de las tablas antes de hacer esto, de lo contrario, sus columnas no se nombrarán correctamente.Son un par de pasos adicionales, pero no tan desalentadores como volver a escribir un montón de nombres largos.
Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)Hola @pcarroll1 ,
Si selecciona las columnas de fórmula que desea copiar de la tabla de origen, haga clic con el botón derecho en el encabezado de una de ellas y seleccione "Copiar columnas"; luego haga clic con el botón derecho en el encabezado de la primera columna vacía a la derecha de los datos de la tabla de destino y seleccione "Pegar columnas". Creo que obtendrá lo que busca.Por cierto, al hacer clic con el botón derecho en una columna existente en la tabla de destino, se insertarán las nuevas columnas de fórmula inmediatamente después de esa columna.
Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)OK, ¡me apresuré con eso!
Esta operación no traslada las propiedades de la columna al destino. Solo los valores de datos y los atributos de columna.
Un simple arrastre (sin tecla modificadora) moverá las columnas de una tabla a otra en lugar de copiarlas.
También puede hacer clic con el botón derecho en las columnas de datos seleccionadas en la tabla de datos de origen y seleccionar copiar propiedades de columna o copiar columnas, ¡pero de esta manera no se copian los valores!
Así que supongo que no hay una manera simple de obtener lo que quieres en un solo paso. Si tiene muchas columnas para reutilizar, entonces el script podría ser la mejor manera. Estaba tratando de ilustrar que hay mucha capacidad a través de la interfaz de usuario.
Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)¡Hay algo de lo que no eres consciente!
- Abra las tablas de datos de origen y destino.
- Seleccione las columnas originales en la primera tabla de datos.
- Mantenga presionada la tecla Control con Windows o la tecla Comando con Macintosh.
- Arrastre las columnas originales de la tabla de datos de origen a la tabla de datos de destino.
Re: Copiar columnas de fórmula de una tabla a otra (nombre de columna incluido)Tengo el script a continuación guardado en el menú Cols usando un complemento y lo uso todo el tiempo, tanto cuando escribo scripts para recrear lo que hice visualmente como para copiar columnas de una tabla a otra.Seleccione columnas en su tabla de origen, ejecute este script, seleccione su tabla de datos de destino, abra una nueva ventana de script, pegue lo que se guardó en el portapapeles y presione ejecutar.
Names default to here(1);
ColumnList = Current Data Table() << Get Selected Columns();
ScriptOut = "";
for( i = 1, i <= n items(ColumnList), i++,
ThisScript = Char(Column( Current Data Table(), ColumnList[i] ) << Get Script) || ";";
ThisScript = substitute( ThisScript, ", Set Selected", "" );
ScriptOut = ScriptOut || If( i > 1, "\!N", "" ) || ThisScript;
);
Set clipboard( ScriptOut );
Código de ejemplo guardado en el portapapeles:
New Column("Sepal length Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Sepal length"), 1)));
New Column("Sepal width Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Sepal width"), 1)));
New Column("Petal length Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Petal length"), 1)));
New Column("Petal width Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Petal width"), 1)));