すべてのデータテーブルに新しい列を追加する方法サンプルの名前が付けられた結果のテキストファイルを生成する一連の実験があります。
データテーブルのタイトルを取得し、新しい「サンプル名」列にタイトルを入力するスクリプトがあります。
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]
);
);実験は一度に数十、さらには数百も実行されます。 すべての結果を連結して分析を自動化し続けることができるように、開いているすべてのデータテーブルでこれを実行するためにスクリプトに適応させることはできますか?
スクリプティングRe:すべてのデータテーブルに新しい列を追加する方法ご返信ありがとうございます。
このスクリプトを実行するとエラーが発生します

Re:すべてのデータテーブルに新しい列を追加する方法ほとんどの場合、古いバージョンのJMPを使用しています(For EachはJMP16で導入されました)。 簡単な修正は、Forループに置き換えることです(コードの1つのタイプミスも修正されました)。
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));
);
);
Re:すべてのデータテーブルに新しい列を追加する方法「サンプル名」という名前の各テーブルに新しい列を追加しますか?その列には、その特定のデータテーブルの名前のみが含まれますか?
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));
);
);

Re:すべてのデータテーブルに新しい列を追加する方法連結のためだけに各テーブル名が必要な場合は、連結にジョブを実行させてみませんか。この目的のためのオプションがありますか? スクリプトの索引またはヘルプを参照してください。
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
);