JSL: Wie erhalte ich Abrufnamen von mehr als einer aktuell ausgewählten Tabelle?Hallo Leute. Ich habe jeden Tag mit neuen Tabellen zu tun (eindeutige Tabellennamen), die immer mindestens eine gemeinsame Spaltenüberschrift haben, was ich auch gewohnt bin Spalten anpassen für Verbinden . Da sich das Ganze immer wieder wiederholt, habe ich darüber nachgedacht, ein Drehbuch zu schreiben.
Problem: Ich möchte nicht jedes Mal beide Tabellennamen im Skript angeben müssen Verbinden zwei Tische.
Ich suche nach einer Methode für das Skript, um automatisch/halbautomatisch die beiden Tabellen auszuwählen, die ich verbinden möchte. Ich weiß, dass es eine Methode zum Abrufen der aktuell ausgewählten Tabelle gibt, aber was ist mit der davor ausgewählten Tabelle? Im besten Fall gibt es eine Methode zum Abrufen von Tabellennamen alle Wählen Sie die derzeit ausgewählten Tabellen aus und fahren Sie dann fort Verbinden für diese Tabellen.
Schätzen Sie alle Ideen und Ratschläge! Danke!
Betreff: JSL: Wie erhalte ich Abrufnamen von mehr als einer aktuell ausgewählten Tabelle?Natürlich gibt es in einer JMP-Sitzung nur eine „aktuelle“ Tabelle. Aber Sie könnten so etwas tun:
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));
)
);