<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich bin so etwas wie ein Neuling in Sachen JMP Scripting. Ich freue mich über jede Hilfe, die ich bekommen kann.
Hier sind die Schritte, die ich erreichen möchte. Zuerst öffne ich die Excel-Datei und wähle in dieser Excel-Datei ein Blatt aus.Dann wende ich einige SQL-Anweisungen an, um eine Teilmenge der Blattdaten abzurufen, und benenne diesen Datensatz
als Teilmenge der Einhaltung.Anschließend wird ein Protokoll erstellt, in das ich alle fehlgeschlagenen Kontrollpunkte schreibe. Als Nächstes erstellen Sie ein Kontrolldiagramm basierend auf der Spalte „Final CPASU“. Hier beginnt mein Problem.
Ich möchte, dass das Kontrolldiagramm nur dann gezeichnet wird, wenn die Daten einen der Tests nicht bestanden haben. Mit anderen Worten: Wenn die Datenpunkte alle sieben Tests der Kontrollgrenzen bestehen, möchte ich nicht, dass JMP dieses Diagramm anzeigt. Das Diagramm sollte nur angezeigt werden, wenn etwas außerhalb der Grenzwerte liegt.Dies ist besonders nützlich, wenn ich mehr als 50 Diagramme habe, was hier der Fall ist, ich aber nicht den gesamten Code der anderen 49 Diagramme eingefügt habe.
Dadurch würde sichergestellt, dass ich mich nur auf die Korrektur von Fehlern konzentriere und nicht auf die Betrachtung aller Diagramme
Und herauszufinden, bei welchen Diagrammdatenpunkten ein Fehler aufgetreten ist.Schließlich speichere ich diese Diagramme als HTML-Datei in einem Ordner, damit ich ein Skript in VBA schreiben kann, das diese Bilder dann auf der Sharepoint-Site veröffentlicht.Dieser Schritt funktioniert gut, aber mir fehlen die Ideen für den obigen Schritt.
Mein Code folgt:
Open Database("DSN=Excel Files;DBQ=C:\Users\XXXXX\Documents\XXXX\JMP Analysis\XXXXX.xlsm;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;", "SELECT * FROM `'CPASU $'`","CPASU$");
//Erstelle die Teilmenge
(Datentabelle( "CPASU by queue$" ) << Select Where(AND(FWEEK>=201201,FWEEK!=201248, FWEEK!=201247, FWEEK!=201243, Adherence>0))<< Subset( Linked ) ;
Aktuelle Datentabelle( Datentabelle( "Subset of Adherence $" ) ));
//Löschen der Protokoll- und Setup-Spalten für die CSV-Datei
Protokoll löschen();
Write("Warteschlangenname,Test,Spalte,Datenpunkt\!N");
//Kontrollkarten beginnen
Neues Fenster( „Teilmenge von CPASU“,
V-Listenfeld(
Kontrolldiagramm(Beispieletikett( :FWEEK ),(Alarmskript(Write("NA Standard,",qc_test,",",qc_col,qc_sample,"\!N")),
Gruppengröße( 1 ),
KSigma( 3 ),}
Chart Col( :Final CPASU, Individual Measurement(Shade Zones(1), Test 1(1)) ),Where( :Queue Name == "NA Standard" ),),);
Savelog("C:\Benutzer\XXXX\Dokumente\XXXX\JMP Analysis\JMPlogs.csv");
Window(„Subset of CPASU“) << SaveHTML („C:\Users\XXX\Documents\XXX\JMP Analysis\HTML\CPASU.html“);
Bitte ignorieren Sie, wenn die Anzahl der öffnenden und schließenden Klammern nicht übereinstimmt.
Hallo Ashwin,
Ich kann mir mehrere Möglichkeiten vorstellen, dies zu tun, aber ich glaube, die einfachste wäre, Ihre Kontrolldiagramme so zu schreiben, wie sie sind, und JMP dann die von Ihnen geschriebene Protokolldatei als Tabelle öffnen zu lassen. Von hier aus gibt es mehrere Möglichkeiten, aber im Wesentlichen haben Sie jetzt eine Tabelle in JMP, die zeigt, bei welchen Ausbrüchen es zu Fehlern kommt. Sie können eine eindeutige Werteliste von „Queue Name“ in eine Listenvariable laden und diese durch ein zweites Skript durchlaufen lassen, wie Sie es getan haben ... im Wesentlichen ersetzen Sie where(:Queue Name = „NA Standards“) durch Where(:Queue Name = Liste) Auf diese Weise werden nur die Diagramme gescriptet, die fehlgeschlagen sind. Ihr zweiter Abschnitt würde also etwa so aussehen:
V-Listenfeld(
For( i= 1, i <= N Items(LISTNAME), i++,
Kontrolldiagramm(Probenetikett( :FWEEK ),(Alarmskript(Write(char(LISTNAME ,",",qc_test,",",qc_col,qc_sample,"\!N")),
Gruppengröße( 1 ),
KSigma( 3 ),
Chart Col( :Final CPASU, Individual Measurement(Shade Zones(1), Test 1(1)) ),Where( :Queue Name == LISTNAME ),),));
Ersetzen Sie den LISTNAME natürlich durch den Namen Ihrer Liste. Ich habe diesen Code nicht getestet, daher sind möglicherweise einige Anpassungen erforderlich Klammer und Kommas ... aber ich denke, Sie verstehen, worauf es ankommt.