JSL: come ottenere i nomi di recupero di più di una tabella attualmente selezionata?Ciao gente. Ho a che fare con nuove tabelle ogni giorno (nomi di tabella univoci) che hanno sempre almeno un'intestazione di colonna comune, che utilizzo per Corrispondenza colonne per Giuntura . Sta diventando ripetitivo, quindi ho pensato di scrivere una sceneggiatura.
Problema: non voglio dover specificare entrambi i nomi delle tabelle nello script ogni volta che lo desidero Giuntura due tavoli.
Sto cercando un metodo per consentire allo script di selezionare automaticamente/semi-automaticamente le due tabelle a cui voglio unirmi. So che esiste un metodo per recuperare la tabella attualmente selezionata, ma per quanto riguarda la tabella selezionata prima? Il caso migliore è se esiste un metodo per recuperare i nomi delle tabelle Tutto tabelle attualmente selezionate e poi procedere Giuntura per queste tabelle.
Apprezzo tutte le idee e i consigli! Grazie!
Ri: JSL: come recuperare i nomi di più di una tabella attualmente selezionata?Naturalmente esiste una sola tabella "corrente" in una sessione JMP. Ma potresti fare qualcosa del genere:
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));
)
);