Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Hi,
Ich habe eine Reihe von Skripten, mit denen ich die Produkttestdaten in JMP analysiere.
Die Skripte rufen im Allgemeinen mehrere Spalten in der Testdatendatei auf.
Jeder Testlauf wird durch eine ID gekennzeichnet und nur diese ID ändert sich, um die neuen Testlaufdaten in JMP zu ziehen – die für die Datenanalyse verwendeten Skripte bleiben gleich.
Zum Teilen meiner Analyse erstelle ich (derzeit) manuell ein PPT-Folienpaket mit den Diagrammen und Analysedaten (wie Median & std-dev etc.).
Ich möchte zum JMP-Journal wechseln.
Ich habe mich gefragt, ob es möglich ist, ein Skript zu haben, das (entweder durch automatisches Ausführen meiner anderen Analyseskripte oder ohne) die Diagramme und Analysedaten an ein JMP-Journal sendet? Wenn dies möglich ist, könnte ich bitte etwas Hilfe mit einem Beispielskript bekommen, um ein solches Journal zusammenzustellen?
Vielen Dank.
GrafikSkriptingFensterBetreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Eine Websuche nach 'Skripting für ein JMP-Journal' liefert Ihnen weitere Beispiele, aber dies könnte Sie in die richtige Richtung lenken:
Names default to here(1);
dt = Open("$SAMPLE_DATA\Big Class.jmp");
// New Journal with a couple headings
nw = New Window("My Journal", <<JOURNAL></JOURNAL>Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Vielen Dank. Ja, das weist mich auf einen Ansatz hin, dem ich folgen könnte.
Ich stelle jedoch fest, dass das Skript zum Laden der Datendatei und die Skripte zum Zeichnen/Analyse von Diagrammen usw. in das Skript zum Generieren des Journals geschrieben werden müssen.
In meinem Fall habe ich bereits separate Skripte, die die Daten laden, die erforderlichen Grafiken zeichnen und die erforderliche Analyse generieren.
Ich habe einen Weg zu auf vorhandene Skripte verweisen aus dem Journal-Skript heraus, ohne sie erneut in das Journal-Skript zu schreiben?
Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Wenn Sie Ihre vorhandenen Skripts nicht ändern möchten, können Sie diesen Ansatz ausprobieren. Wenn die Skripte nicht in der Tabelle gespeichert sind, sehen Sie sich die JSL-Funktion 'Include()' an:
NamesDefaultToHere(1);
// Returns a list containing the names of all the currently open windows in a session
namesOfOpenWindows =
Function({}, {DefaultLocal},
openWindows = Window();
openWindowNames = {};
For(w=1, w<=NItems(openWindows), w++, InsertInto(OpenWindowNames, OpenWindows[w] << GetWindowTitle));
openWindowNames;
);
// Which windows are open now?
preWindowList = namesOfOpenWindows();
// Open a table
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Find out what scripts are in the table
dts = dt << GetTableScriptNames;
// Run every script
for (s=1, s<=NItems(dts), s++, dt << runScript(dts[s]));
// Which windows are open now?
postWindowList = namesOfOpenWindows();
// Journal the contents of each 'new' window
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Vielen Dank @ian_jmp .
Ihr Skript sieht äußerst nützlich aus, zumal ich relativ neu bei JMP bin (von MATLAB kommend)..
Allerdings verstehe ich Ihren Kommentar zu "i f die Skripte werden nicht in der Tabelle gespeichert ".
Meine Skripte werden gespeichert und ändern sich nicht für die Analyse neuer Testdaten (wie in meinem OP erwähnt).
Außerdem benötige ich nur bestimmte Diagramme von jedem Skript und nur einige berechnete Analysedaten (wie z. B. Median und std-dev, keine anderen Parameter, die JMP auch berechnet), um in das Journal zu gelangen. Wie erreicht man dies in JSL?
Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?Die Auswahl bestimmter Berichte aus Ihrer Ausgabe ist ziemlich einfach, aber sehr spezifisch.Ich schlage vor, dass Sie sich die Zeit nehmen, den Scripting Guide zu lesen, um loszulegen.Dann werden Ihre spezifischen Fragen, wie Sie die genauen Berichte erhalten, entweder durch die Dokumentation beantwortet, oder Sie können der Community eine detailliertere Frage zur Beantwortung stellen.
Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?@ian_jmp . Ich versuche, Ihr Skript auf folgende Weise zu verwenden.
Ich habe ein Skript geschrieben, das die Datendatei lädt und verschiedene Diagramme zeichnet.
partID = "part012"; // specifies part ID
DataTable = getDataTable4WfrID2(partID,partID); // loads test data table corresponding to the partID and names it the same as partID
include ("allGraphPlotter.jsl"); //plots all necessary chartsDas obige Skript funktioniert wie erwartet.
Dann (in der vierten Zeile oben) habe ich versucht enthalten Ihr Skript wie unten (beachten Sie die kommentierten Zeilen) zum Senden der Diagramme an das Journal, funktioniert jedoch nicht.
Was mache ich falsch (vielleicht meine Include-Anweisung oder der Funktionsaufruf zB output = nameOfOpenWindows() )?
NamesDefaultToHere(1);
// Returns a list containing the names of all the currently open windows in a session
namesOfOpenWindows =
Function({}, {DefaultLocal},
openWindows = Window();
openWindowNames = {};
For(w=1, w<=NItems(openWindows), w++, InsertInto(OpenWindowNames, OpenWindows[w] << GetWindowTitle));
openWindowNames;
);
// Which windows are open now?
preWindowList = namesOfOpenWindows();
// Open a table
//dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Find out what scripts are in the table
//dts = dt << GetTableScriptNames;
// Run every script
//for (s=1, s<=NItems(dts), s++, dt << runScript(dts[s]));
// Which windows are open now?
postWindowList = namesOfOpenWindows();
// Journal the contents of each 'new' window
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Betreff: Wie kann ich ein Skript erstellen, um Diagramme und Analysedaten an das Journal zu senden, ohne vorhandene Skripte für Diagramme/Analysen manuell auszuführen?@ian_jmp . Ich habe jetzt noch ein paar Tests gemacht. Dieser Teil Ihres Skripts funktioniert nicht.
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Alles darüber in Ihrem Skript liefert die erwarteten Ergebnisse, aber nur, wenn ich den obigen for-Schleifenblock kommentiere.
Außerdem bekomme ich die Diagramme nicht in das Journal, daher scheint nur der Code über dem for look wie erwartet zu funktionieren, es sei denn, ich mache etwas falsch.