¿Cómo buscar en los encabezados de columna?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Soy nuevo en las secuencias de comandos JSL y quiero saber cómo buscar en los encabezados de columna.
Básicamente, usé la tabla de datos preparada por otra persona que necesito analizar. Antes de comenzar el análisis, cambio los encabezados de columna a través del script.
Sin embargo, a veces la tabla de datos no tiene el encabezado específico que estoy modificando y la secuencia de comandos JSL se cancelará.
Aquí mi parte de mi código:
col = Columna ("% L (i) _MRR"); col << Establecer nombre ("irawLossMRR");
col = Columna ("% L (i) _QSNR - Production_Avg."); col << Establecer nombre ("irawLossQSNR");
Mi problema: si no hay un encabezado de columna "% L (i) _MRR", el script se cancelará y no ejecutará el siguiente comando.
Requisito: Cómo mostrar la pantalla emergente para mostrar un mensaje: "No% L (i) _MRR column" y continúe con el siguiente comando.
- Marknight -
¿Cómo buscar en los encabezados de columna?Parece que quiere mostrar el mensaje de error, pero continúa con el resto de las funciones de cambio de nombre de la columna. Puede hacer esto con un diálogo modal (requiere que haga clic en "Aceptar" antes de continuar con el script) o una ventana de título (no detiene el script ni requiere una respuesta), según sus preferencias. En los ejemplos a continuación, "old_name" se refiere al nombre de la columna que desea ubicar y reemplazar y "new_name" se refiere al nombre con el que desea reemplazarlo.
col_names = dt << obtener nombres de columna (cadena);
if (! contiene (col_names, "old_name"),
dlg = dialog ("Sin columna old_name",
botón ("Cancelar"), botón ("OK")),
Si (dlg ["Button"] == -1, Throw ()),
Columna ("old_name") << Establecer nombre ("new_name")
);
Para usar el comando de título no modal:
col_names = dt << obtener nombres de columna (cadena);
if (! contiene (col_names, "old_name"),
Título ({x, y}, "Sin columna de antiguo nombre");
Espera (2);
Título (eliminar),
Columna ("old_name") << Establecer nombre ("new_name")
);
x e y en el título se refieren a las coordenadas de la pantalla, por lo que si su resolución de pantalla es de 1024 x 768, usar {500,350} le dará una ventana de título que se encuentra aproximadamente en el centro de la pantalla. También puede modificar la hora del comando 'esperar' si el mensaje se muestra demasiado largo (o no lo suficiente).
Deberá repetir el condicional para cada columna, reemplazando "old_name" y "new_name" cada vez.
¿Cómo buscar en los encabezados de columna?Usaría algo como lo siguiente:
dt = abierto ( "$ sample_data \ Big Class.jmp" ) ;
col_names = dt << Obtener nombres de columna ( Cuerda ) ;
Si ( ! contiene ( col_names , "nombre de pila" ) ,
dlg = diálogo ( "Columna no encontrada" ,
"Columna de advertencia [nombre] no encontrada" ,
botón ( "DE ACUERDO" )) ;
lanzar () ;
) ;
Tenga en cuenta que la función contiene es sensible a mayúsculas y minúsculas.
Saludos,
Peter