こんにちは皆さん。 私は毎日、少なくとも 1 つの共通の列ヘッダーを持つ新しいテーブル (一意のテーブル名) を扱っています。列の一致のために参加する。 繰り返しになるので、スクリプトを書こうと考えています。
問題: 毎回スクリプトで両方のテーブル名を指定する必要はありません。参加するテーブルが2つ。
スクリプトが結合したい 2 つのテーブルを自動/半自動的に選択する方法を探しています。 現在選択されているテーブルを取得する方法があることは知っていますが、その前に選択されているテーブルはどうすればよいでしょうか? 最良のケースは、テーブル名を取得するメソッドがある場合です。全て現在選択されているテーブルを選択し、次に進みます参加するこれらのテーブルの場合。
すべてのアイデアとアドバイスに感謝します! ありがとう!
もちろん、JMP セッションには「現在の」テーブルが 1 つだけあります。 しかし、次のようなこともできます。
NamesDefaultToHere(1);
// Make some tables with different numbers of columns
n = 5;
for(t=1, t<=n, t++, NewTable("Table "||Char(t), << addMultipleColumns("Test", Random Integer(5), Character)));
// Function that returns the names of all open tables containing a specified column
tablesWithColumn =
Function({inCol}, {Default Local},
matchingTables = {};
for(t=1, t<=NTable(), t++,
cols = DataTable(t) << getColumnNames("String");
if(Contains(cols, inCol), InsertInto(matchingTables, DataTable(t) << getName));
);
matchingTables;
);
// Try it out
myCol = "Test 3";
NewWindow("Open Tables with Column "||myCol,
PanelBox("Pick Tables to Join",
lb = ListBox(tablesWithColumn(myCol), maxSelected(2));
)
);