Löschen Sie Spalten in verschiedenen Tabellen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche, Spalten in mehreren Tabellen zu löschen.
In der zweiten For-Schleife habe ich ein ungültiges Argument. funktioniert aber nur am ersten Tisch ...
Vielen Dank
geof
Öffnen Sie ("D: \ A.csv");
Öffnen ("D: \ B.csv");
Open ("D: \ C.csv");
t_count = N Table ();
Für (i = 1, i <= t_count, i ++,
dt = Datentabelle (i);
N = N Col (dt);
ColumnstoKeep = {"AA", "BB"};
ColumnstoTrash = {};
Für (j = 1, j <= N, j ++,
colname = Spalte (j) << getname (); / Debugger sagte Invali Argument!? /
Wenn (Enthält (ColumnstoKeep, Colname) <1,
Einfügen in (ColumnstoTrash, Colname)
);
);
dt << Spalten löschen (ColumnstoTrash);
);
Re: Löschen Sie Spalten in verschiedenen TabellenVielen Dank 
Re: Löschen Sie Spalten in verschiedenen Tabellengeof2,
Ihre Verwendung der column () - Funktion hat keinen Verweis auf die von Ihnen benötigte spezifische Datenmenge, sodass Sie nur die aktuelle Tabelle verwenden. Dies ist die C.csv-Tabelle, die letzte, die Sie geöffnet haben. Verwenden Sie Spalte (dt, j). Verwenden Sie also für Ihre zweite Schleife:
Für (j = 1, j <= N, j ++,
colname = Spalte (dt, j) << getname ();
Wenn (Enthält (ColumnstoKeep, Colname) <1,
Einfügen in (ColumnstoTrash, Colname)
);
);
Ich empfehle Ihnen auch, etwas anderes als j für Ihren Index zu verwenden. j ist eine in JMP reservierte Funktion.
Michael