<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein Skript, das der Datentabelle einige Spalten hinzufügt und Diagramme erstellt. Beim ersten Ausführen des Skripts möchte ich die neuen Spalten erstellen. Ich möchte jedoch das Skript erneut für eine Datentabelle ausführen können, in der bereits die hinzugefügten Spalten enthalten sind, und die Diagramme werden erstellt. Ich stelle mir eine "IF" -Anweisung vor, die prüft, ob eine bestimmte Spalte vorhanden ist, oder die Anzahl der Spalten in der Tabelle zählt. Kann mir jemand zeigen, wie ich eines dieser Dinge tun kann und / oder auf eine andere Art und Weise, was ich suche?
Vielen Dank.
Dies ist (zum Glück) in JMP recht einfach. Sie können alle Spaltennamen an eine Liste senden lassen.
Das folgende Skript erfasst die Namen der Spalten in einer Tabelle. Dann wird geprüft, ob eine vom Benutzer angegebene Liste von Spaltennamen in der Tabelle vorhanden ist. Wenn der Spaltenname vorhanden ist, wird eine Nachricht in das Protokollfenster geschrieben. Es ist nicht viel zu fantasie, um zu sehen, dass, wenn der neue Spaltenname nicht in der Tabelle vorhanden ist, die IF () - Bedingung in der For-Schleife geändert wird, sodass die neue Spalte erstellt wird.
Benennt standardmäßig Here (1);
Protokoll löschen();
bigClass = try (Open ("$ SAMPLE_DATA / Big Class.JMP"));
dt = aktuelle Datentabelle (); // Tabellenname im obersten Fenster;
tblcols = dt << Spaltennamen (String) abrufen;
mynewcols = {"height", "weight", "bmi"}; // Kleinbuchstaben oder nicht übereinstimmen
Sortierliste in (Mynewcols);
dt << Datenaktualisierung beginnen;
schreiben ("\! NStart of Script. \! N");
Für (i = 1, i <= n Elemente (Tabellen), i ++,
mycol = trim (Kleinbuchstaben (tblcols )); // Hier ist die Kraft zum Kleinbuchstaben
myloc = enthält (mynewcols, mycol);
if (myloc! = 0,
schreiben ("Column", mycol, "bereits in der Tabelle vorhanden. \! N");
entfernen aus (Mynewcols, Myloc, 1);
fortsetzen()
);
); // Ende der for-Schleife
dt << Ende der Datenaktualisierung;
try (close (dt));
schreiben ("Ende des Skripts. \! N");
// im Protokollfenster nach Ausgabe suchen;