Wie speichere ich ein Diagrammskript mit Datenausschlüssen?
Wir speichern häufig Diagramme als Skripte für die spätere Verwendung. Alles funktioniert einwandfrei, bis das Diagramm einen Datenausschluss beinhaltet. Zum Beispiel möchten wir die Genesung von Patienten grafisch darstellen, die (1) einen Impfstoff erhalten haben, im Vergleich zu (2) denen, die dies nicht getan haben. Die beiden Diagramme sind identisch - gleiche Variablen, Achse, Beschriftung und Stil - mit der Ausnahme, dass (1) die (binäre) Bedingung "kein Impfstoff" und (2) die Bedingung "Impfstoff" ausschließt.
Wir verstehen, dass sich das Diagramm selbst aktualisiert, wenn Datenausschlüsse geändert werden (dies ist eine Funktion, kein Fehler). Gibt es eine Möglichkeit, die Datenausschlüsse im Diagrammskript zu speichern? , damit beim Ausführen des Skripts ein Ergebnis angezeigt wird, das auf Datenausschlüssen basiert, als das Diagramm erstellt wurde?
GrafikBetreff: Wie speichere ich ein Diagrammskript mit Datenausschlüssen?Es gibt verschiedene Möglichkeiten, dies zu tun. Wenn das Diagrammskript für eine neue Datentabelle ausgeführt werden soll, muss für das Skript JSL zu dem Skript hinzugefügt werden, das die Daten durchläuft und zu diesem Zeitpunkt die Auswahl trifft. Wenn die Aufgabe darin besteht, das Diagramm nur mit denselben Datentabelleneinstellungen erneut ausführen zu können, muss zunächst eine neue Spalte vom Typ "Zeilenstatus" erstellt und die Zeilenstatus zum Zeitpunkt der Ausführung gespeichert werden des Diagramms in die neue Zeile für den Zeilenstatus. Dann müsste das Grafikskript nur noch erweitert werden, um die Status der gespeicherten Zeilen aus der neuen Spalte in die Zeilenzustände der Datentabelle zu kopieren und dann das Diagramm auszuführen.
Betreff: Wie speichere ich ein Diagrammskript mit Datenausschlüssen?Danke, für die schnelle Antwort!
1) Können Sie auf eine Erklärung hinweisen, wie das geht? "Für das Skript muss JSL zu dem Skript hinzugefügt werden, das die Daten durchläuft und zu diesem Zeitpunkt die Auswahl trifft."
2) Wenn die obige Lösung es uns auch ermöglicht, Ausschlüsse in demselben Datensatz anzugeben, sprechen Sie nicht mehr. Andernfalls verweisen Sie uns bitte auf eine Erklärung dazu: "Dann müsste das Grafikskript nur erweitert werden, um die gespeicherten Zeilenzustände aus der neuen Spalte in die Datentabellenzeilenzustände zu kopieren und dann das Diagramm auszuführen."
Betreff: Wie speichere ich ein Diagrammskript mit Datenausschlüssen?Oder ein anderer Ansatz besteht darin, einen lokalen Datenfilter als Teil des Diagramms zu verwenden. Auf diese Weise kann der Benutzer problemlos von einer Gruppe zur anderen wechseln.
Betreff: Wie speichere ich ein Diagrammskript mit Datenausschlüssen?Hier ist ein Beispiel für das Speichern und anschließende Verwenden einer Zeilenstatusspalte, um die Datentabelle auf den Status zurückzusetzen, in dem sie war, als das ursprüngliche Diagramm ausgeführt wurde.
names default to here(1);
// Open a sample data table
dt = open("$SAMPLE_DATA/big class.jmp" );
// Set some exclusions and row coloring
dt << select where(:age == 12 & :sex == "F" );
dt << hide and exclude;
dt << color by column(:age);
// Run the graph to get the results desired
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
// To save the data table status at the time of the graph, simply
// create a new row state column, and copy the row states to it
dt << new column("My Row States", rowstate);
dt:My Row States << copy from row states;
// To illustrate what would needed to be added to the Graph Script
// to recreate the environment it was originally run in, I will first
// clear all of the row states to bring the table back to the
// default blank row states
dt << clear row states;
// Now all that has to be done, is to copy the rowstates from the row state
// column back to the data table row states, and then rerun the graph
dt:My Row States << copy to row states;
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
Ich denke nicht, dass dies eine vollständige Antwort auf Ihre Antwort ist, aber ich war mir nicht sicher, wonach Sie sonst noch gefragt haben. Könnten Sie noch einmal wiederholen, was Sie fragen, und weitere Einzelheiten angeben?