Hierarchie der geöffneten DatentabellenWie kann ich eine Hierarchie aller geöffneten Datentabellen erhalten?
- Teilmengen
- gestapelter / geteilter Tisch
- Zusammenfassungstabelle
Etwas Ähnliches wie die Baumstruktur im Hauptmenü – oder in der Fensterliste?
Automatisierung und SkripterstellungBetreff: Hierarchie der geöffneten DatentabellenIn meinem letzten Ansatz verwende ich @jthis Trick, um das erweiterte Log zu parsen:
mit erweitertem Protokoll sprechen
Aber vielleicht gibt es einen clevereren Ansatz, etwa durch Manipulation der Fensterlistenansicht?

Bedauerlicherweise:

... und die Fensterliste ist nicht in getWindowList() aufgeführt.
Betreff: Hierarchie der geöffneten DatentabellenOder Datentabellen in der Funktion Get Window List() angeben?
Names Default To Here( 1 );
open_tables = Get Window List( Type( "Data Tables" ) ) << Get Window Title;
Betreff: Hierarchie der geöffneten DatentabellenOder
Names Default To Here( 1 );
open_tables = Get Data Table List();
Betreff: Hierarchie der geöffneten DatentabellenIch kenne beide Funktionen, wusste aber nicht, dass man damit die Hierarchie geöffneter Datentabellen abrufen kann.
Wie kann ich anhand der zurückgegebenen Listen herausfinden, welche Tabelle eine Teilmenge oder Zusammenfassung einer anderen Datentabelle ist?
Betreff: Hierarchie der geöffneten DatentabellenIch habe dasselbe Problem mit der Anzeige von Fenstern im kommenden neuen Assistant. Derzeit werden nur die Namen angezeigt und anhand des Bindestrichs analysiert.
Betreff: Hierarchie der geöffneten DatentabellenLeider lässt sich aus dem Fensternamen nicht schließen, ob die Tabellen verknüpft oder getrennt sind.
Ich habe die Frage an den JMP-Support gesendet: TS- 00278736
Der Vorschlag: Reichen Sie die Idee für die Wunschliste ein.
Erledigt: GetOpenTableDependencyGraph() und andere
Betreff: Hierarchie der geöffneten DatentabellenFür Berichte ist es etwas einfacher, da man << Datentabelle abrufen verwenden kann (das lästige daran ist, die Plattformreferenz zu erhalten). Vereinfachte Beispiele
get_reference_table_window = Function({reportwindow}, {Default Local},
table = Empty();
tablelist = Get Data Table List() << get name;
window_title = reportwindow << Get Window Title;
table = Empty(); // one should definitely match...
For Each({tablename}, tablelist,
If(Starts With(window_title, tablename),
table = Datatable(tablename);
break;
);
);
return(table);
);
get_reference_table_helpkey = Function({reportwindow}, {Default Local},
table = Empty();
// look for OutlineBoxes with helpKey xml attribute
obs = reportwindow << XPath("//OutlineBox[@helpKey]"); // can run out of depth, could also loop over outlineboxes
objs = obs << Get Scriptable Object;
For Each({obj}, objs,
If(Is Empty(obj),
continue();
);
sobj = obj << Get Scriptable Object;
If(!Is Empty(sobj),
table = sobj << Get Data Table;
);
);
return(table);
);
Bei Datentabellen wird es komplizierter, und man kann sich bei nicht verknüpften Tabellen nur auf den Namen und das Quelltabellenskript verlassen. Für verknüpfte Tabellen gibt es komplexere Strategien, die man ausprobieren kann.