<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo un script que agrega algunas columnas a la tabla de datos y crea algunos gráficos. La primera vez que ejecuto el script, quiero crear las nuevas columnas, pero quiero poder ejecutar el script nuevamente en una tabla de datos que ya tiene las columnas agregadas y simplemente crea los gráficos. Estoy imaginando una declaración "SI" que verifica si una columna determinada está presente o cuenta el número de columnas en la tabla. ¿Alguien me puede mostrar cómo hacer cualquiera de esas cosas y / o una forma diferente de escribir lo que estoy buscando?
Gracias.
Esto es (afortunadamente) bastante fácil en JMP. Puede tener todos los nombres de columna enviados a una lista.
La siguiente secuencia de comandos toma los nombres de las columnas en una tabla. Luego verifica si una lista de nombres de columnas proporcionada por el usuario está presente en la tabla; si el nombre de la columna está presente, se escribe un mensaje en la ventana de registro. No hace falta mucha imaginación para ver que si el nuevo nombre de columna no está presente en la tabla, la condición IF () en el bucle For se cambia para que se cree la nueva columna.
Nombres predeterminados a aquí (1);
borrar registro();
bigClass = try (Open ("$ SAMPLE_DATA / Big Class.JMP"));
dt = tabla de datos actual (); // nombre de la tabla en la ventana superior;
tblcols = dt << obtener nombres de columna (cadena);
mynewcols = {"altura", "peso", "bmi"}; // minúscula o no coincidirá
ordenar la lista en (mynewcols);
dt << comenzar actualización de datos;
escribe ("\! NStart of Script. \! N");
Para (i = 1, i <= n elementos (tblcols), i ++,
mycol = trim (minúscula (tblcols) )); // Aquí está la fuerza para minúsculas.
myloc = contiene (mynewcols, mycol);
si (myloc! = 0,
write ("Column", mycol, "ya presente en la tabla. \! N");
remover de (mynewcols, myloc, 1);
continuar()
);
); // fin de for loop
dt << final de actualización de datos;
prueba (close (dt));
escribir ("Fin de guión. \! N");
// buscar en la ventana de registro para la salida;