<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
¿Alguien tiene un script JSL que copiará las propiedades de las columnas de una tabla de datos a las columnas del 'mismo nombre' en otra tabla de datos?
Soy un idiota. Gracias por ayudarme a darme cuenta de eso 
El mensaje de error implicaría que su nueva columna de fórmula involucra una o más columnas que no están presentes en la misma tabla. ¿Está seguro de que todas las columnas requeridas para calcular los valores de la fórmula están en la nueva tabla?
Hola,
Encontré esta publicación relativamente antigua e intenté aplicar la solución a un script que estoy haciendo, pero aparece el siguiente mensaje de error en el depurador:
"La fórmula tiene una referencia a una variable de columna o tabla en una tabla diferente que no se puede encontrar para reasignar a esta tabla"
Mi situación es un poco más simple porque solo estoy tratando de copiar las propiedades de una sola columna
colProps = Column( dt, "Response Predictor" ) << Get Column Properties;
Column( dtparms, "Formula" ) << Add Column Properties( colProps );
¿Alguna idea de lo que estoy haciendo mal?
johan
Gracias por tu ayuda. ¡Eso funcionó! Mi nueva tabla siempre será un subconjunto del 'maestro', y la instrucción 'intentar' resuelve este problema.
lou
Una "solución rápida": coloque la segunda línea del bucle dentro Intentar() para evitar un error si falta alguna columna en la nueva tabla (el orden de las columnas no debería importar aquí).
Try( Column( nt, colNames[i] ) << Add Column Properties( colProps ) );
Gracias por tu ayuda. Estaba tratando de recorrer las dos tablas, pero no tenía los comandos correctos.
Parece que esto funcionará siempre que las dos tablas tengan las mismas columnas, en el mismo orden. ¿Es esto correcto?
lou
lu,
A continuación se muestra cómo puede copiar las propiedades de las columnas de una tabla a otra, suponiendo que los nombres de las columnas sean los mismos.
dt = Open( "$SAMPLE_DATA\Tiretread.jmp" );
colNames = dt << Get Column Names( String );
nt = New Table( "New Tires",
New Column( "ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "HARDNESS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SILICA", Numeric, Continuous, ),
New Column( "SILANE", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SULFUR", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula HARDNESS", Numeric, Continuous, Format( "Best", 10 ) )
);
For( i = 1, i <= N Cols( dt ), i++,
colProps = Column( dt, colNames ) << Get Column Properties;
Column( nt, colNames ) << Add Column Properties( colProps );
);