<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Seit mein zuletzt Frage A wenige Tage ICH haben kommen A wenig weiter mit Mein Skript.
Um den ersten Schritt abzuschließen, möchte ich die Berichte (in 3 Fenstern) in einem Bericht (1 Fenster) zusammenfassen.
Wie kann ich das machen ... Siehe Zeile 51 ff
Und wie kann ich diesen Bericht automatisch mit dem Namen „data_file name“ (erste 10 Zeichen) UND „_Baseline“ (wenn mehr als ein Monat ausgewählt wird) ODER „_Monthly“ (mit ausgewähltem Monat) speichern? ... siehe Zeile 33-40
mein Drehbuch:
Protokoll löschen();
Globals(); löschen
data_file= Datei auswählen("Datenbank auswählen");
dt_data= Open( data_file, unsichtbar);
spec_file= Datei auswählen("Spezifikationsdatei auswählen");
dt_spec= Open( spec_file, unsichtbar);
//dt_ssum= New Table("Stat Summary", unsichtbar);
specColName = dt_spec << GetColumnNames( Numeric, String );
dataColName = dt_data << GetColumnNames( Numeric, String );
specExpr = Expr(
Column( dt_data, name ) << set property(
„Spezifikationsgrenzen“,
{LSL( Expr(lower) ), USL( Expr(upper) )}
);
);
For( i = 1, i <= N Rows( dt_spec ), i++,
name = Column( dt_spec, "Process" ) ;
untere = Spalte( dt_spec, "LSL" ) ;
Upper = Spalte( dt_spec, „USL“) ;
If( Enthält( dataColName, name ),
Eval( Eval Expr( specExpr ) )
);
);
Aktuelle Datentabelle (dt_data);
Neues Fenster( „Wählen Sie EINEN Monat aus“, <
V-Listenfeld(
Textfeld („oder ALLE für Grundlinie“),
mon = List Box(:Stage << Werte abrufen),
Button Box( „OK“, cho = mon << ausgewählt werden),
)
);
dt_data << Select Where(Contains(cho, :Stage));
Wenn (
cho [1] == "Grundlinie",
dt_data << Zeilen löschen,
dt_data << Zeilenauswahl umkehren;
dt_data << Zeilen löschen;
);
for (k = 1, k <= N Items(dataColName),k++,
cc = dt_data << Kontrolldiagramm(
Gruppengröße( 1 ),
KSigma( 3 ),
Diagrammspalte(
dataColName,
Einzelmessung( Test 1( 1 ), Test 2( 1 ), Test 3( 1 ) ),
Bewegungsbereich,
Fähigkeit(
Verteilung(
Kontinuierliche Verteilung(
Spalte( dataColName),
Quantile( 0 ),
Horizontales Layout (0),
Histogramm( 0 ),
Vertikal( 0 ),
Ausreißer-Boxplot( 0 ),
Zusammenfassungsstatistik ( 1 ), // keine Funktion
Normaler Quantilplot( 0 ), // keine Funktion
PpK-Fähigkeitskennzeichnung (1),
Fähigkeitsanalyse,
)
)
)
),
SendToReport(
Versenden(
{"Individuelle Messung des Assays"},
„IR-Karte von IM“,
FrameBox( 2 ),
{Rahmengröße (75, 162)}
),
Versenden(
{"Moving Range of Assay"},
„IR-Diagramm der MR“,
FrameBox( 2 ),
{Rahmengröße (75, 162)}
),
Versenden(
{"Fähigkeitsanalyse"},
„Langzeit-Sigma“,
OutlineBox,
{Schließen( 1 )}
),
Versenden(
{"Fähigkeitsanalyse"},
„Kontrollkarte Sigma“,
)
)
)
);
// Neue Tabelle mit LSL, USL, UCL, AVG, LCL erstellen und speichern,
// Zusammenfassungsstatistik, CP, CPK, CPL, CPU, Sigma (Kontrolldiagramm Sigma)
ccr = cc << Bericht;
ccr << Baumstruktur anzeigen();
//ccr[StringColBox(1)]
//ccr[NumberColBox(1)]
//ccr[FrameBox(2)]
//ccr[StringColBox(7)]
//ccr[NumberColBox(9)]
//ccr[TextBox(6)]
Vielen Dank für Ihre Hilfe
Combine Windows ist eigentlich eine Alternative zur <Betreff: jsl: Wie kombiniere ich mehrere Berichte in einem?
Hallo David,
Vielen Dank für das Beispiel mit „Container“ und „Inhalt“. Es macht viel mehr Sinn.
Ich habe eine Frage: Warum kann ich das neue Fenster „Demo“ nicht unter „Fenster -> Fenster kombinieren“ als auswählbare Option sehen?
Danke schön.
Derchieh
Hier scheint es drei Fragen zu geben.
Hier ist ein Beispielcode zum Kombinieren der Ausgabe in einem einzigen Fenster:
dt = Offen ( „$SAMPLE_DATA/Semiconductor Capability.jmp“ ) ;
jetzt = Neues Fenster ( "Demo" ,
Container = V-Listenfeld ()
) ;
Für ( ich = 5 , ich < 8 , ich ++,
Inhalt = V-Listenfeld (
dt << Kontrollkarte (
Diagrammspalte ( Spalte ( ich ) , XBar ) ,
Musteretikett ( : Wafer ) ,
KSigma ( 3 )
)
) ;
Container << Anhängen ( Inhalt )
) ;
Zum automatischen Speichern des Berichts versuche ich zu antworten, ohne die Details Ihres Codes auszuarbeiten.Es gibt zwei Aspekte – wie man den richtigen Namen erhält und wie man speichert.Sie möchten den Namen aus mehreren Komponenten ableiten – Tabellenname und Baseline.Ich habe mir nicht im Detail angesehen, was Sie unter Grundlinie verstehen, aber die Prinzipien bestehen darin, Zeichenmanipulation zu verwenden.Wenn Sie die ersten 10 Buchstaben des Tabellennamens möchten, können Sie Folgendes schreiben:
Tabellenname = dt_data << Holen Sie sich den Namen ;
kurzer Name = Links ( Tabellenname , 10 ) ;
Auf der Grundlage, dass Sie eine weitere Zeichenfolge erstellen, die die Basisinformationen darstellt (z. B. strBaseline), können Sie dann einen Dateinamen erstellen, z
Dateiname = kurzer Name || „_“ || strBaseline || „.pdf“ ;
Um den Bericht dann automatisch zu speichern, können Sie Folgendes schreiben:
jetzt << PDF speichern ( Dateiname );
Wenn Sie es als JMP-Bericht speichern möchten, bin ich mir nicht sicher, wie oder ob das automatisch erfolgen kann, aber Sie können es als Journal speichern:
Dateiname = kurzer Name || „_“ || strBaseline || „.jrn“ ;
jetzt << Tagebuch speichern ( Dateiname );
- Dave