Verketten Sie eine Liste von Tabellen und fügen Sie eine „Quellspalte“ hinzu.Ich habe eine Liste offener Tabellen (Namen), die ich verketten und eine neue „Quellspalte“ hinzufügen möchte, die aus derselben Liste mit Tabellennamen abgerufen werden kann. Ich habe alle vorherigen „Lösungen: in diesem Diskussionsforum veröffentlicht“ ausprobiert, ohne Erfolg (nur teilweiser Erfolg).
Ich kann meine verketteten Tabellen nach einer von TXNelson veröffentlichten Lösung erhalten, aber ich kann die „Quellspalte“ anscheinend nicht zum Laufen bringen.Ich würde 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 );Erweiterte statistische ModellierungDatenzugriffDatenmischung und -bereinigungMassenanpassungQualitäts- und VerfahrenstechnikErgebnisse teilen und kommunizierenBetreff: Eine Liste von Tabellen verketten und eine „Quellspalte“ hinzufügen.@MS - Ja, ich hatte die „Namen“, nicht die Objekte. Vielen Dank, dass Sie sich die Zeit genommen haben, mir zu helfen.
Beste grüße,
AlfredoBetreff: Eine Liste von Tabellen verketten und eine „Quellspalte“ hinzufügen.Die Liste Tische muss Datentabellenobjekte enthalten (der erste Teil meines Codes veranschaulicht 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 Pop-IP-Fenster.
Nachdem der Code ausgeführt wurde, können Sie mit alle (gespeicherten) Datentabellen in der Liste in einem Schritt schließen Tabellen << Fenster schließen;.
Betreff: Eine Liste von Tabellen verketten und eine „Quellspalte“ hinzufügen.Hallo MS,
Ich habe deinen 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, was den Zweck der Erstellung eines Skripts zur Automatisierung des Prozesses zunichte macht.Die Liste „Tabellen“ wird nicht durchlaufen.Ich verwende JMP 15.
Nur zu Ihrer Information: Dies ist der Beitrag, den ich als Leitfaden verwendet habe. Danke.
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804
Betreff: Eine Liste von Tabellen verketten und eine „Quellspalte“ hinzufügen.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.
Mit kann auch automatisch eine Quellspalte erstellt werden Concatenate() wie im Beispiel unten .
// 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 ) );