Hallo zusammen, ich bin kein JMP-Neuling, aber relativ neu bei JSL. Ich versuche, ein Skript zu schreiben, um die Datenanalyse und die Ausgabe dieser Analyse zu automatisieren.
Ich verwende ein übergeordnetes JSL-Skript, das es Benutzern ermöglicht, für die Analyse interessante Dateien zu öffnen und dann eine mögliche Analysesequenz durchzuführen, z. B. Verteilungen, Modellanpassungen, multivariate, bivariate Anpassungen usw.
Ich verwende eine generische Funktion im Skript, um den Benutzer aufzufordern, aus der aktuellen Liste von Fenstern (Datentabellen) auszuwählen, für die die Analyse durchgeführt werden soll. Der Benutzer würde eine Datentabelle zur Durchführung auswählen, z. B. eine multivariate Analyse. Ich möchte, dass dieses übergeordnete Skript auch über ein Schaltflächenskript verfügt, das ihnen die Möglichkeit bietet, dann einen ausgewählten Bericht zu speichern (wobei wiederum die generische Fensterauswahlfunktion aufgerufen wird). Es fällt mir schwer, das vorhandene Berichtsfenster, z. B. eine multivariate Analyse, zu übernehmen und es dann an eine PDF-Datei zu senden. Ich habe versucht, Code zu schreiben, um das Skript aus dem Berichtsfenster abzurufen und es erneut auszuführen, um es an ein Journal zu senden und als PDF zu speichern, aber das schlägt fehl.
Unten ist mein übergeordnetes Skript:
Names Default To Here( 1 );
choose_data_table = Function( {},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table",
<<MODAL></MODAL>
Hier ist das Skript, mit dem ich versuche, die Daten in ein JRN zu extrahieren und als PDF zu speichern:
Names Default To Here( 1 );
wlist = Get Window List() << Get Window Title();
choose_window = Function( {},
win = New Window( "Select a Report",
<<MODAL></MODAL>
Und hier ist der Fehler, den ich bekomme:
Send erwartet ein skriptfähiges Objekt beim Zugriff oder bei der Auswertung von „Send“, selected[1] << /*###*/SaveAs() /*###*/
Ich habe viele Möglichkeiten ausprobiert, dies zu umgehen, aber irgendwie gelingt es mir nicht, das JSL-Skript dazu zu bringen, eine Funktion auszuführen, die es dem Benutzer ermöglicht, das Berichtsfenster seiner Wahl auszuwählen und dieses dann als PDF (oder PNG oder …) zu speichern JPG usw. – je nach Wunsch des Benutzers).
Hat super funktioniert, @gzmorgan0 . Danke schön!
Ich habe den Skalierungsfaktor basierend auf einer Diskussion in diesem Thread geändert: https://community.jmp.com/t5/Discussions/Scaling-to-fit-to-page-width/td-p/33952
Jetzt wird die Größe des Berichts je nach Bedarf an die Seitenbreite angepasst, was wirklich praktisch ist.
Danke für die schnelle Hilfe!
Versuche dies:
Names Default To Here( 1 );
wlist = Get Window List() << Get Window Title();
choose_window = Function( {},
win = New Window( "Select a Report",
<<MODAL></MODAL>