Wählen Sie alle Spalten gleichzeitig aus einer Tabelle ausIch habe mehrere Tabellen, die aus CSV-Dateien importierte Daten enthalten. Leider sind nicht alle Tische gleich lang und variieren von Tag zu Tag in der Länge. Allerdings möchte ich immer noch alle Spalten in den Datentyp „Zeichen“ konvertieren können. Gibt es einen Befehl innerhalb der JMP-Skripterstellung, der es mir ermöglichen würde, dies zu tun, ohne einzelne Spalten angeben zu müssen (da ich nicht weiß, wie viele Spalten es insgesamt geben wird)?Betreff: Alle Spalten einer Tabelle auf einmal auswählenSie könnten ein kurzes Skript verwenden, das eine Liste aller Spaltennamen erstellt und dann jeder Spalte iterativ eine Eigenschaft zuweist.Betreff: Alle Spalten einer Tabelle gleichzeitig auswählenDanke für die Antwort.
Hätten Sie Beispielcode, der das leisten würde?
Im Wesentlichen versuche ich, alle Spalten in den Datentyp "Zeichen" umzuwandeln.
Am nächsten kam ich dem Ziel bisher mit diesem Code.
_________________________________
dt=DataTable("Log60");
cc=dt< ncols = N Items(cc);
Dies gibt die Namen der Spalten zurück, die "numerisch" sind.
_________________________________
Die Skriptanleitung empfiehlt dann, diese Art von Schleife zu verwenden, um alle oben im Code aufgeführten Spalten auszuwählen.
________________________
for(i=1,i<=ncols,i++,
cc(i)< ________________________
Aber diese hier funktioniert bei mir nicht – es erscheint die Fehlermeldung „Ungültige Zeilennummer -1“.Betreff: Alle Spalten einer Tabelle gleichzeitig auswählenBei mir funktioniert es, wenn ich "cc[ i ]" anstelle von "cc(i)" verwende. Haben Sie eine Spalte namens "cc" oder "i", die möglicherweise mit den Variablen in Konflikt steht? Versuchen Sie es mit "cc[ i ]<
Nachtrag: Die Forensoftware verwendet anscheinend eckige Klammern zur Formatierung, daher wurde die Nachricht beschädigt. Ich versuche es jetzt mit einem Leerzeichen.
Nachricht bearbeitet von: xan@jmpBetreff: Alle Spalten einer Tabelle gleichzeitig auswählenDas folgende Beispielskript konvertiert den Datentyp aller Spalten in der aktuellen Datentabelle in den Datentyp „Zeichenkette“. Dies ist lediglich ein prägnanterer Vorschlag als der zuvor in diesem Thread unterbreitete.
Um die Spalten zu durchlaufen, müssen Sie vor der For()-Schleife weder die Anzahl noch die Namen der Spalten kennen. Die Funktion NCol() gibt die Anzahl der Spalten in der Datentabelle zurück. Mit der Funktion Column() können Sie auf eine Spalte anhand ihres Index zugreifen.
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << Data Type( "Character" )
);
Ich hoffe, das hilft.
Betreff: Alle Spalten einer Tabelle gleichzeitig auswählenProbier es doch mal aus
dt=current data table();
::cc = ::dt << Get Column Names( Continuous );
::ncols = N Items( ::cc );
For( ::i = 1, ::i <= ::ncols, ::i++,
::name = ::cc[::i];
::cc[::i] << Data Type( Character );
Current Data Table() << Run Formulas;
);