Skript zum automatischen Speichern aller Datentabellen und Berichte in einem JMP-Projekt im InhaltIch habe derzeit das untenstehende statische Skript, das bestimmte Berichte und Tabellen anhand ihres Namens im Projektverzeichnis speichert. Ich möchte dieses Skript so verallgemeinern, dass es dies für jedes Projekt durchführt. Die Namen müssten also dynamisch generiert und an eine Speicherfunktion übergeben werden. Ich habe bereits einiges ausprobiert, bin aber noch nicht weitergekommen – Hilfe wäre sehr willkommen.
Dieses Skript funktioniert aktuell mit Tabellen mit festen Namen. Es wird in einem Workflow ausgeführt, der im selben Projekt wie alle Tabellen und Berichte eingebettet ist. Für Berichte soll die Einbettung immer auf 0 gesetzt sein.
proj = Current Data Table() << Get Project();
proj << Run Script(
Data Table("plate_data_long") << Save As("$PROJECT/plate_data_long.jmp");
Data Table("plate_data_wide") << Save As("$PROJECT/plate_data_wide.jmp");
Data Table("Summarized by PC Plate_well and Process") << Save As("$PROJECT/Summarized by PC Plate_well and Process.jmp");
Window ("Assay Plate Value Heatmap") << Save Window Report( "$PROJECT/Assay Plate Value Heatmap.jrp", embed data( 0 ) );
Window ("Controls and Parent QC") << Save Window Report( "$PROJECT/Controls and Parent QC.jrp", embed data( 0 ) );
Window ("Assay Plate Value Heatmap") << Save Window Report( "$PROJECT/Assay Plate Value Heatmap.jrp", embed data( 0 ) )
;
);
Automatisierung und SkripterstellungBetreff: Skript zum automatischen Speichern aller Datentabellen und Berichte in einem JMP-Projekt im InhaltSie können eine Liste der Datentabellennamen mit dem Befehl „Datentabellenliste abrufen“ erhalten.
tablenames = Get Data Table List() << get name;
Fenster mit „Fensterliste abrufen“ melden
reportwindows = Get Window List(Type("Reports"));
Anschließend können Sie die Elemente mit einer For Each-Schleife durchlaufen.
Prüfen Sie beide Einträge im Scripting Index, da sie das Projektargument unterstützen, das Sie möglicherweise verwenden müssen.
Bearbeitet: Befehl oder Berichtfenster korrigiert
Betreff: Skript zum automatischen Speichern aller Datentabellen und Berichte in einem JMP-Projekt im InhaltDanke Jarmo – hast du eine Ahnung, warum die zweite Funktion nicht den Bericht aus meinem Projekt zurückgibt? Die erste Funktion funktioniert wie erwartet für die Datentabellen.
Momentaufnahme der Projektfenster:

Protokoll, das zeigt, dass der unten stehende Befehl den Bericht nicht zurückgibt.
reportwindows = Get Window List(Type("Reports"));

Das Hinzufügen eines zweiten Berichts zeigt, dass die Anzeigebox/Kopfzeile nicht zwischen mehreren Berichten unterscheidet:

Betreff: Skript zum automatischen Speichern aller Datentabellen und Berichte in einem JMP-Projekt im InhaltDas sind die Berichtsfenster.
Betreff: Skript zum automatischen Speichern aller Datentabellen und Berichte in einem JMP-Projekt im InhaltUnd zur Verdeutlichung: Es unterscheidet zwischen ihnen. Sie können die < <>