嗨夥計。 我每天都在處理新表(唯一的表名),這些表總是至少有一個公共列標題,我用它來匹配列為了加入。 這變得越來越重複,所以我一直在考慮寫一個腳本。
問題:我不想每次都在腳本中指定兩個表名加入兩張桌子。
我正在尋找一種方法,讓腳本自動/半自動選擇我想要加入的兩個表。 我知道有一種方法可以檢索目前選定的表,但是之前選定的表又如何呢? 最好的情況是有一種方法可以檢索表名全部目前選擇的表,然後繼續執行加入對於這些表。
感謝所有的想法和建議! 謝謝!
當然,JMP 會話中只有一個「目前」表。 但你可以這樣做:
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));
)
);