Me acabo de enterar de que la cita de lstCols3 o lstCols2 como La lista de nombres de columna tampoco funciona.
Puede codificar dinámicamente la plataforma de pila. A continuación se muestra un ejemplo simple:
Names Default to Here(1);
dt=open("$SAMPLE_DATA/Semiconductor Capability.jmp");
Listcols={:NPN1, :PNP1, :PNP2, :NPN2};
lstCos3="Discriptors";
lstCos2="Values";
n=2;
Data Table( "semiconductor capability" ) << Stack(
columns( Listcols ),
Source Label Column( lstCos3 ),
Stacked Data Column( lstCos2 ),
Drop All Other Columns( 1 ),
Number of Series( eval(N) )
);
Sin embargo, lo que estoy aprendiendo de su discusión es que está pensando que la Columna de etiqueta de origen y la Columna de datos apilados pueden ser una lista de nombres. La documentación a continuación muestra que solo se puede proporcionar un solo nombre
Columna de datos apilados
Asigna un nombre a la columna que contendrá los datos para las columnas apiladas. El nombre predeterminado es Datos . Deje el cuadro vacío si no desea que esta columna aparezca en la nueva tabla.
Columna de etiqueta de origen
Asigna un nombre a la columna que contendrá los nombres de columna de la tabla original. El nombre predeterminado es Etiqueta . Deje el cuadro vacío si no desea que esta columna aparezca en la nueva tabla.
Si necesita tener nombres específicos para las columnas de datos y etiquetas producidas en la plataforma de pila, simplemente puede cambiar los nombres en la nueva tabla que se produce.
Estaba escribiendo un script para apilar un montón de columnas juntas usando el script JSL como se muestra a continuación. Sin embargo, recibo un mensaje de error que dice que "El número de series debería ser un número entero positivo" Necesito que la N sea variable dependiendo de cuántas columnas deben apilarse para diferentes tablas. Tengo otro script para identificar el número de columna que funciona perfectamente bien. Solo la función de pila de alguna manera no funciona.
dt_join2=current data table();
N=49
Data Table( dt_join2 ) << Stack(
columns(Lstcols ),
Source Label Column( lstCols3 ),
Stacked Data Column( lstCols2 ),
Number of Series(N)
);
@txnelson Muchas gracias, la función Eval () hace que funcione.