<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai un script qui ajoute quelques colonnes dans la table de données et crée des graphiques. La première fois que j'exécute le script, je veux créer les nouvelles colonnes, mais je veux pouvoir l'exécuter à nouveau sur une table de données contenant déjà les colonnes ajoutées et créant simplement les graphiques. J'imagine une instruction "IF" qui vérifie si une certaine colonne est présente ou compte le nombre de colonnes dans la table. Quelqu'un peut-il me montrer comment faire l'une ou l'autre de ces choses et / ou une manière différente d'écrire ce que je cherche?
Merci.
C'est (heureusement) assez facile avec JMP. Vous pouvez avoir tous les noms de colonnes envoyés à une liste.
Le script ci-dessous récupère les noms des colonnes d'un tableau. Ensuite, il vérifie si une liste de noms de colonnes fournie par l'utilisateur est présente dans la table - si le nom de colonne est présent, un message est écrit dans la fenêtre du journal. Il ne faut pas trop d'imagination pour voir que si le nouveau nom de colonne n'est pas présent dans la table, la condition IF () de la boucle For est modifiée afin que la nouvelle colonne soit créée.
Les noms par défaut sont Here (1);
effacer le journal ();
bigClass = try (Open ("$ SAMPLE_DATA / Big Class.JMP"));
dt = table de données actuelle (); // nom de la table dans la fenêtre la plus haute;
tblcols = dt << obtenir les noms de colonnes (chaîne);
mynewcols = {"hauteur", "poids", "bmi"}; // en minuscule ou ne correspondra pas
trier la liste dans (mynewcols);
dt << commence la mise à jour des données;
write ("\! NStart of Script. \! N");
Pour (i = 1, i <= n éléments (tblcols), i ++,
mycol = trim (minuscule (tblcols) )); // voici la force pour minuscule
myloc = contient (mynewcols, mycol);
si (myloc! = 0,
write ("Column", mycol, "déjà présent dans le tableau. \! N");
retirer de (mynewcols, myloc, 1);
continuer()
)
) // fin de la boucle for
dt << fin de la mise à jour des données;
try (close (dt));
write ("Fin du script. \! N");
// cherche dans la fenêtre du journal la sortie;