<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Tengo una secuencia de comandos que abre varias tablas de datos y ejecuta un algoritmo que crea una nueva columna y asigna un color según el resultado de cada uno de esos archivos. Luego los concatena y crea una tabla de subconjuntos según las columnas que elija.
El problema es que cuando concatena las tablas de datos, el color no aparece en la nueva tabla de datos concatenada ni aparece en el subconjunto. Mi guión está abajo. También adjunto el script y las tablas de datos. Gracias.
Nombres predeterminados aquí ( 1 ) ;
// Use 'PickFile ()' para obtener una lista de archivos para abrir (solo Windows)
lista de archivos = Seleccionar archivo (
"Seleccione uno o más archivos" , // Preguntar
"$ DESKTOP" , // carpeta inicial
{ "Archivos JMP | jmp; jsl; jrn; csv" , "Todos los archivos | *" } , // Lista de filtros de archivos a aplicar (ignorados por OS / X)
1 , // Filtro de archivo inicial para aplicar (índice del elemento en la lista anterior)
0 , // Guardar marca: especifique una ventana 'Guardar' o 'Abrir'. Establece un valor de 1 o 0 respectivamente.
Vacío () , // archivo predeterminado
múltiple // Múltiple: si 'Guardar marca' = 0, el uso de un valor de 1 permite que se abra más de un archivo (ignorado por OS / X)
) ;
// Si solo se selecciona un archivo, fileList no será una lista, por lo que necesitamos crearlo para nosotros mismos
Si ( ! Es la lista ( lista de archivos ) ,
lista de archivos = Lista de evaluación ( { lista de archivos } )
) ;
// Abre los archivos y almacena sus nombres de tabla JMP correspondientes
tableNames = {} ;
por ( F = 1 , F <= N artículos ( lista de archivos ) , F ++,
Dttemp = Abierto ( lista de archivos El F ] ) ;
Insertar en ( tableNames , Dttemp << getName ) ;
Dttemp = Tabla de datos actual () ;
Dttemp << Nueva Columna ( "St / Si" , Numérico , continua , Formato ( "Mejor" , 5 ) ,
Fórmula ( : "Clasificación de la dirección" / : "Tamaño del carro" ) ) ;
Dttemp << Nueva Columna ( "V1-St / Si" , Numérico , continua , Formato ( "Mejor" , 5 )) ;
por ( yo = 1 , yo <= N fila ( Dttemp ) , yo ++,
Si ( : "St / Si" El yo ] > ( Col significa ( : "St / Si" ) + ( Col máximo ( : "St / Si" ) - Col significa ( : "St / Si" )) * 1 / 2 ) , : "V1-St / Si" El yo ] = 3 ,
Si ( : "St / Si" El yo ] > ( Col significa ( : "St / Si" ) - ( Col significa ( : "St / Si" ) - Col mínimo ( : "St / Si" )) * 1 / 2 ) , : "V1-St / Si" El yo ] = 2 ,
Si ( : "St / Si" El yo ] > Col mínimo ( : "St / Si" ) , : "V1-St / Si" El yo ] = 1 , : "V1-St / Si" El yo ] = 0 )
)
) ;
) ;
// color fila por fila
por ( yo = 1 , yo <= N fila ( Dttemp ) , yo ++,
Si ( : "St / Si" El yo ] > ( Col significa ( : "St / Si" ) + ( Col máximo ( : "St / Si" ) - Col significa ( : "St / Si" )) * 1 / 2 ) ,
Columna ( Dttemp , "V1-St / Si" ) << Celulas de color ( 3 , { yo } ) ,
Si ( : "St / Si" El yo ] > ( Col significa ( : "St / Si" ) - ( Col significa ( : "St / Si" ) - Col mínimo ( : "St / Si" )) * 1 / 2 ) ,
Columna ( Dttemp , "V1-St / Si" ) << Celulas de color ( 9 , { yo } ) ,
Si ( : "St / Si" El yo ] > Col mínimo ( : "St / Si" ) ,
Columna ( Dttemp , "V1-St / Si" ) << Celulas de color ( 4 , { yo } ) ,
Columna ( Dttemp , "V1-St / Si" ) << Celulas de color ( 4 , { yo } )
)
)
) ;
) ;
// Anexar las tablas de datos juntas
Si ( F == 1 ,
dt = Dttemp ,
dtx = dt << Unirse ( Con ( Dttemp ) ,
Conservar orden de la mesa principal () ,
Nombre de la tabla de salida ( "Carrat Concatenado" ) ,
Retener propiedad de columna ,
) ;
Cerrar ( Dttemp , nosave ) ;
Cerrar ( dt , nosave ) ;
dt = dtx
) ;
) ;
// Crear una copiadora de columnas para copiar archivos
dt = Tabla de datos actual () ;
dt2 = dt << Subconjunto () ;
Si usa la propiedad de columna Colores de valor para colorear celdas, el color de la celda se puede retener en la tabla unida.
A continuación se muestra su código replicado, pero ahora se agrega una propiedad de columna de color cada vez que se crea una nueva columna "V1-St / Si":
Nombres predeterminados aquí ( 1 );
// Use 'PickFile ()' para obtener una lista de archivos para abrir (solo Windows)
fileList = Seleccionar archivo (
"Seleccione uno o más archivos" , // Preguntar
"$ DESKTOP" , // carpeta inicial
{ "Archivos JMP | jmp; jsl; jrn; csv" , "Todos los archivos | *" } // Lista de filtros de archivos a aplicar (ignorados por OS / X)
1 , // Filtro de archivo inicial para aplicar (índice del elemento en la lista anterior)
0 , // Guardar marca: especifique una ventana 'Guardar' o 'Abrir'. Establece un valor de 1 o 0 respectivamente.
Vacío () // archivo predeterminado
múltiple // Múltiple: si 'Guardar marca' = 0, el uso de un valor de 1 permite que se abra más de un archivo (ignorado por OS / X)
);
// Si solo se selecciona un archivo, fileList no será una lista, por lo que necesitamos crearlo para nosotros mismos
Si (! Es la lista (fileList),
fileList = Lista de evaluación ({fileList})
);
// Abre los archivos y almacena sus nombres de tabla JMP correspondientes
tableNames = {};
por (f = 1 f <= N artículos (fileList), f ++,
dttemp = Abierto (fileList);
Insertar en (tableNames, dttemp << getName );
dttemp = Tabla de datos actual ();
dttemp << Nueva Columna ( "St / Si" , Numérico, continuo, Formato ( "Mejor" , 5 ), Formula (: "Clasificación de la dirección" /: "Tamaño del carro" ));
dttemp << Nueva Columna ( "V1-St / Si" ,
Numérico,
continua
Formato ( "Mejor" , 5 )
<< Añadir propiedades de columna (Establecer propiedad ( "Valor de los colores" , { 0 = 4 , 1 = 4 , 2 = 9 , 3 = 3 }), Celular de color por valor)
);
por (i = 1 , i <= N fila (dttemp), i ++,
Si (: "St / Si" > ( Col significa (: "St / Si" ) + ( Col máximo (: "St / Si" ) - Col significa (: "St / Si" )) * 1 / 2 )
: "V1-St / Si" = 3 ,
Si (: "St / Si" > ( Col significa (: "St / Si" ) - ( Col significa (: "St / Si" ) - Col mínimo (: "St / Si" )) * 1 / 2 )
: "V1-St / Si" = 2 ,
Si (: "St / Si" > Col mínimo (: "St / Si" )
: "V1-St / Si" = 1 ,
: "V1-St / Si" = 0
)
)
)
);
// Anexar las tablas de datos juntas
Si (f == 1 ,
dt = dttemp,
dtx = dt << Unirse (Con (dttemp), Conservar orden de la tabla principal (), Nombre de la tabla de salida ( "Carrat Concatenado" ), Retener propiedad de columna,);
Cerrar (dttemp, nosave);
Cerrar (dt, nosave);
dt = dtx;
);
);