テーブルのリストを連結し、「ソース列」を追加します連結したい開いているテーブル(名前)のリストがあり、同じテーブル名のリストから取得できる新しい「ソース列」を追加します。 私はこれまでのすべての「解決策:運がなくてもこのディスカッション掲示板に公開されました(部分的な運のみ)」を試しました。
TXNelsonによって公開されたソリューションに従って連結テーブルを取得できますが、「ソース列」を機能させることができないようです。私はこれを解決する助けをいただければ幸いです。
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 );スクリプティングRe:テーブルのリストを連結し、「ソース列」を追加しますリストに値がある場合、最後の部分は機能するはずです。 最初のforループを確認してください。それは使用していますkイテレータとして、ただしループ内私、定義されていません。リストインデックスとして使用されます。
ソース列は、を使用して自動的に作成することもできます。以下の例のようにConcatenate() 。
// 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 ) );
Re:テーブルのリストを連結し、「ソース列」を追加しますこんにちはMS、
私はあなたのコードをテストしました:
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
また、連結するテーブルを選択できるポップアップウィンドウが作成されます。これにより、プロセスを自動化するスクリプトを作成する目的が失われます。「テーブル」リストを反復処理しません。JMP15を使用しています。
参考までに、これは私がガイドとして使用している投稿です。 ありがとう。
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804
Re:テーブルのリストを連結し、「ソース列」を追加しますリストテーブルデータテーブルオブジェクトが含まれている必要があり(コードの最初の部分は、そのようなリストを作成する1つの方法を示しています)、コードの実行時にすべてのテーブルが開いたままである必要があります。 それ以外の場合は、pop-ipウィンドウが表示されます。
コードの実行後、リスト内のすべての(保存された)データテーブルを1つのステップで閉じることができます。テーブル<<ウィンドウを閉じる;。