Verketten Sie eine Liste von Tabellen und fügen Sie eine "Quellenspalte" hinzu.Ich habe eine Liste offener Tabellen (Namen), die ich verketten möchte, und füge eine neue „Quellenspalte“ hinzu, die aus derselben Liste von Tabellennamen abgerufen werden kann. Ich habe alle vorherigen „Lösungen ausprobiert: ohne Glück auf diesem Diskussionsforum veröffentlicht (nur teilweises Glück)
Ich kann meine verketteten Tabellen nach einer von TXNelson veröffentlichten Lösung abrufen, aber ich kann anscheinend nicht in der Lage sein, die "Quellenspalte" zum Laufen zu bringen.Ich werde mich über jede Hilfe bei der Lösung dieses Problems freuen.
tables = {"R1", "R2", "R3"};
TablesN ={};
For(k = 1, k <= n Rows ( Data Table(tables[i] )),k++,
Insert Into(TablesN, Data Table (tables [i] ) << get name));<BR />
// the concatenation works like a charm
Data Table = New Table ("RST");
For( i = 1, i <= N Items( tables ), i++,
Data Table( "RST" ) << Concatenate(
Data Table( tables[i] ),
append to first table(1)
);
//Close( Data Table( tables[i] ), No Save );
);
// this part fails<BR />
data table( "RST" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );SkriptingBetreff: Verketten Sie eine Liste von Tabellen und fügen Sie eine "Quellenspalte" hinzu.Der letzte Teil sollte funktionieren, wenn die Liste Werte enthält. Schauen Sie sich die erste for-Schleife an. es benutzt k als Iterator aber innerhalb der Schleife ich, nicht definiert, wird als Listenindex verwendet.
Eine Quellenspalte kann auch automatisch mit erstellt werden Verketten () wie im folgenden Beispiel .
// Create a list of data tables
names = {"R1", "R2", "R3"};
tables = {};
For( i = 1, i <= N Items( names ), i++,
Insert Into( tables, Data Table( names[i] ) )
);
// Concat all and create a source column in one step
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
Betreff: Verketten Sie eine Liste von Tabellen und fügen Sie eine "Quellenspalte" hinzu.Hallo MS,
Ich habe Ihren Code getestet:
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
und es wird ein Popup-Fenster erstellt, in dem ich die zu verkettenden Tabellen auswählen kann, wodurch der Zweck der Erstellung eines Skripts zur Automatisierung des Prozesses zunichte gemacht wird.Die Liste "Tabellen" wird nicht durchlaufen.Ich benutze JMP 15.
Nur zu Ihrer Information, dies ist der Beitrag, den ich verwendet habe, um mich zu führen. Vielen Dank.
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804
Betreff: Verketten Sie eine Liste von Tabellen und fügen Sie eine "Quellenspalte" hinzu.Die Liste Tabellen muss Datentabellenobjekte enthalten (der erste Teil meines Codes zeigt eine Möglichkeit, eine solche Liste zu erstellen) und alle Tabellen müssen noch geöffnet sein, wenn der Code ausgeführt wird. Andernfalls erhalten Sie das Popup-Fenster.
Nachdem der Code ausgeführt wurde, können Sie alle (gespeicherten) Datentabellen in der Liste in einem Schritt mit schließen Tabellen << Fenster schließen;.