Variabilitätsdiagrammschleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungHallo Leute,
Ich bin ziemlich neu in der JMP-Skripterstellung. Ich brauche eine kleine Unterstützung. Ich entwerfe jetzt eine Anwendung, die Folgendes tut
Schritt 1: Wenn der Benutzer auf eine Schaltfläche klickt. Das Fenster „Variabilitätsdiagramm“ wird geöffnet, in dem wir alle Spalten für die Darstellung, die X-Achsen-Gruppierung und alle Einstellungen aus der aktuell aktiven Datentabelle festlegen
obj = dt << Variability Chart();
Schritt 2: Ich möchte die vom Benutzer angegebenen Elemente in separaten Variablen abrufen, z
col_list = Liste aller in obj ausgewählten Spalten
x_grouping = alle x angegebenen Variablen
.. für alle Argumente für Variability Chart()
Schritt 3: Nachdem ich alle Informationen extrahiert habe, führe ich jetzt eine Schleife für jede Spaltenvariable aus
für i==1 (erste Spalte) werde ich das Diagramm im Bericht zeichnen ... Der Benutzer wird einige Änderungen vornehmen (z. B. Legende hinzufügen, Hintergrundfarbe angeben usw.)
Jetzt wende ich diese Vorlage (alle Einstellungen in diesem Diagramm) auf alle Spalten an und erstelle für jede Spalte einen Bericht in einem neuen Fenster.
Ich habe folgendes Problem: Schritt 2 und Schritt 3, wie man die Argumente für Variability Chart() extrahiert und die Aktion ausführt
PS: Ich plane auch, dies parallel für andere Diagrammtypen zu implementieren \
Bitte leiten
Automatisierung und SkripterstellungBetreff: Variabilitätsdiagrammschleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungAm einfachsten wäre es, die Benutzeroberfläche für den Variabilitätsdiagramm-Starter selbst zu erstellen. Wenn Sie das nicht möchten, können Sie << Get Script verwenden, um das gestartete Skript abzurufen und die Spalten daraus zu analysieren
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution();
dist = Current Report()[OutlineBox(1)] << Get Scriptable Object;
dist << get script;Betreff: Variabilitätsdiagrammschleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungSchritt 1
obj = dt << Variability Chart();
öffnet das Dialogfeld „Variabilitätsdiagramm“ und wenn der Benutzer auf „OK“ klickt, werden alle Diagramme gleichzeitig ausgeführt.
Sobald das Variabilitätsdiagramm jedoch ausgeführt wurde, können Sie das von der Variabilitätsdiagramm-Plattform zurückgegebene Skript abfragen und die X- und Y-Werte abrufen
obj = Variability Chart( Y( :NPN1, :PNP1 ), Model( "Main Effect" ), X( :SITE ) );
theScript = char(obj << get script);
theYsList = words(word(1,substr(theScript,contains(theScript,"Y(")+2),")"),",");
theXsList = words(word(1,substr(theScript,contains(theScript,"X(")+2),")"),",");
Für Schritt 2 können Sie das angezeigte Diagramm direkt abfragen und die verschiedenen Einstellungen abrufen. Schauen Sie im Skriptindex nach, wie Sie die Framegröße, das Minimum und das Maximum sowie das Inkrement für die verschiedenen Achsen usw. ermitteln, die Sie auf die zusätzlichen Anwendungen des Variabilitätsdiagramms anwenden müssen.
Ich denke, dass Ihr vorgeschlagener Ansatz mehr Ärger als Nutzen bringen wird. Ich schlage vor, dass Sie, anstatt das Dialogfeld „Variabilitätsdiagramm“ zu verwenden, lieber ein eigenes Dialogfeld erstellen, das dem Dialogfeld „Variabilitätsdiagramm“ ähnelt, in dem Sie dann alle Informationen erhalten, die Sie im Voraus benötigen, und dann die Schritte 2 und 3 ausführen viel einfacher umsetzbar sein.
Informationen zum Erstellen Ihrer eigenen neuen window.dialog-Box finden Sie im Skripthandbuch
Betreff: Variabilitätsdiagrammschleife für alle ausgewählten Spalten mit benutzerdefinierter Einstellung@txnelson Vielen Dank für Ihren Einblick. Eigentlich ist es mein Hauptziel, für jede Spalte ein separates Berichtsfenster zu haben. Wenn ich zum Beispiel 5 Spalten für Y auswähle und wir im Bericht eine Darstellung für alle 5 Parameter erhalten. Wenn ich im ersten Diagramm im Feld „Übersicht“ eine Legende hinzufüge, die Farbe ändere usw., möchte ich ein Skript schreiben, um jeden Plot in einem separaten Fenster zu trennen und gleichzeitig die Änderungen zu verwenden, die ich am ersten Plot vorgenommen habe. Gibt es eine Möglichkeit, dies zu erreichen? Bitte schlagen Sie vor
Betreff: Variabilitätsdiagrammschleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungHier ist ein Beispiel für eine Möglichkeit, mit dem umzugehen, was Sie meiner Meinung nach tun möchten. Das Skript ist sehr unvollständig und erfordert viele zusätzliche Ausnahmebehandlungen, aber es sollte Ihnen einen Ausgangspunkt geben.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
nw = New Window( "Col List Box Example",
modal,
H List Box(
Col List Box( all, width( 250 ) ),
V List Box(
Lineup Box( N Col( 2 ),
ybb = Button Box( "Y Col" ),
Y = Col List Box( Show( "run" ) ),
xbb = Button Box( "X Col" ),
x = Col List Box(),
Button Box( "Cancel",
nw << close window;
Throw();
),
Button Box( "OK",
ycols = y << get items;
xcols = x << get items;
)
)
)
)
);
// ycols and xcols now have been populated and you can then bring up one graph and
// let the user make the changes
nw = New Window( "Graphical Settings",
modal,
vc = dt << Variability Chart( Y( ycols[1] ), Model( "Main Effect" ), X( xcols[1] ) );
vc << on close(
// In the closing of the Variability Chart capture the script
theScript = Char( vc << get script );
);
);
// Run all of the graphs
For Each( {theCol, index},ycols, Eval( Parse( Substitute( theScript, ycols[1], theCol ) ) ) );