So fügen Sie allen Datentabellen eine neue Spalte hinzuIch habe eine Reihe von Experimenten, die eine Textdatei mit Ergebnissen erzeugen, die mit dem Namen der Probe betitelt ist.
Ich habe ein Skript, das den Titel der Datentabelle nimmt und eine neue Spalte "Beispielname" mit dem Titel füllt.
dt = current data table();
name = dt << get name;
new column("Sample Name");
column(dt,"Sample Name")[1]=name;<BR />
nr = N Rows( dt );
For( ii = 2, ii <= nr, ii++,
If( is missing(Column( dt, "Sample Name" )[ii]),
Column(dt, "Sample Name" )[ii] = Column( dt, "Sample Name" )[ii - 1]
);
);Die Experimente werden Dutzende, sogar Hunderte gleichzeitig durchgeführt. Gibt es eine Anpassung an mein Skript, die ich einfügen kann, damit dies für alle offenen Datentabellen ausgeführt wird, sodass ich alle Ergebnisse verketten und die Analyse weiter automatisieren kann?
SkripterstellungBetreff: So fügen Sie allen Datentabellen eine neue Spalte hinzuVielen Dank für Ihre Antwort.
Beim Ausführen dieses Skripts erhalte ich eine Fehlermeldung

Betreff: So fügen Sie allen Datentabellen eine neue Spalte hinzuSie verwenden höchstwahrscheinlich eine ältere Version von JMP (For Each wurde in JMP16 eingeführt). Eine einfache Lösung besteht darin, sie durch eine For-Schleife zu ersetzen (auch ein Tippfehler im Code wurde behoben):
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp"); // open for demo purposes
Open("$SAMPLE_DATA/Big Class Families.jmp"); // open extra table for demo purposes
new_col_name = "Sample Name";
dt_list = Get Data Table List();
For(i = 1, i <= N Items(dt_list), i++,
dt_cur = dt_list[i];
name = dt_cur << get name;
If(!Contains(dt_cur << Get Column Names("String"), new_col_name),
dt_cur << New Column(new_col_name, Character, Nominal, << Set Each Value(name));
);
);
Betreff: So fügen Sie allen Datentabellen eine neue Spalte hinzuMöchten Sie jeder der Tabellen mit dem Namen "Sample Name" eine neue Spalte hinzufügen, die nur den Namen dieser bestimmten Datentabelle enthält?
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp"); // open for demo purposes
Open("$SAMPLE_DATA/Big Class Families.jmp"); // open extra table for demo purposes
new_col_name = "Sample Name";
For Each({dt_cur}, Get Data Table List(),
name = dt_cur << get name;
If(!Contains(dt_cur << Get Column Names("String"), new_col_name),
dt_cur << New Column(new_col_name, Character, Nominal, << Set Each Value(name));
);
);

Betreff: So fügen Sie allen Datentabellen eine neue Spalte hinzuWenn Sie jeden Tabellennamen nur für die Verkettung benötigen, warum lassen Sie concatenate die Arbeit nicht erledigen, es gibt eine Option für diesen Zweck? Siehe Index oder Hilfe zur Skripterstellung.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Trial1.jmp" );
dt2 = Open( "$SAMPLE_DATA/Trial2.jmp" );
dt << Concatenate(
Output Table( "Result Table with Source" ),
Data Table( "Trial2" ),
Create Source Column
);