Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Hallo zusammen,
Ich habe kürzlich intensiv über die Möglichkeiten nachgedacht, mit JMP eine Automatisierung durchzuführen. Gibt es Skripte, die dies tun könnten:
(1) Ich habe die Rohdaten in einer JMP-Tabelle gespeichert.
(2) Ich habe ein Skript, das die Diagramme automatisch zeichnet (Beispiel: Variablendiagramm), indem es beliebige Y-Variablen aus der Spalte (in den Rohdaten) abruft und anhand eines festen X-Parameters (im Skript definiert) zeichnet. Dies spart einige Zeit bei der Benennung aller Y-Variablen im Skript, insbesondere wenn ich etwa 50 Parameter zum Skript hinzufügen muss.
Danke schön,
Ann
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Danke, Jim
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Standardmäßig schreibt die Funktion „Präsentation speichern()“ über alle zuvor erstellten pptx-Dateien, es sei denn, Sie geben „A
aushängen"-Option.Weitere Informationen finden Sie in der Dokumentation im Scripting Index.
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Vielen Dank, Jim.
Ich habe den ganzen Tag mit verschiedenen Codes und Skripten herumgespielt, aber es kam mir so vor, als ob ich nur den letzten Plot im pptx ausgeben konnte. Der Rest der Plots wurde nicht im ppt gespeichert. Ich habe überhaupt keine Ahnung, was schief gelaufen ist.
/* Open a sample data table */
dt = Open( "C:\Users\Ann Ann/12.jmp" );
// Find the Y Columns
numericColNamesList = dt << get column names( string, numeric );
For( i = N Items( numericColNamesList ), i >= 1, i--,
If(
Not(
Is Missing( Num( Word( 1, numericColNamesList[i], ":" ) ) ) == 0 &
Word( 2, numericColNamesList[i], ":" ) != ""
),
numericColNamesList = Remove( numericColNamesList, i, 1 )
)
);
// Run the Variance Charts
// With dynamic Y columns and fixed X columns
obj = Variability Chart( Y( Eval( numericColNamesList ) ), X( :LOT, :WAFER ) );
robj << Save Presentation( "C:\Users\Ann Ann\1.pptx" );
Open( "C:\Users\Ann Ann\1.pptx" );
/* Close table and all invisible reports */
Close( dt, No Save );
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Schauen Sie sich die Funktion „Save Presentation()“ im Scripting Index an.
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Vielen Dank, Jim. Es kommt mir so vor, als ob ich immer wieder an diesem alten Fehler feststecke.
Sie können Ihren Rat einholen. Gibt es eine Möglichkeit, diese gespeicherten Zahlen zu automatisieren und in Ppt oder Word auszugeben? Ich schätze, die Anzahl der Grundstücke würde leicht 40-50 erreichen.Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Die Ausgabe einer Plattform wird in einer Berichtsstruktur für die Plattform gespeichert.Daher müssen Sie auf den Bericht verweisen, damit die Plattform Zugriff auf die Ausgabe erhält.
Report( obj ) << Save Picture("C:\Users\Ann Ann" || colList[i] ||".jpg", JPEG );Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Tut mir leid, dass ich mich nicht richtig erklärt habe, Jim. Ich entschuldige mich dafür.
Unten finden Sie ein Beispiel für den Code, den ich ändern bzw. an dem ich zunächst arbeiten wollte.
Ich überlege, die Variabilitätsdiagramme automatisch mit den Eingabedaten zu zeichnen. Und geben Sie sie dann in ein PPT-Format oder so aus.
Aber irgendwie scheint mit dem Drehbuch nichts richtig zu funktionieren.
/* Open a sample data table */
dt = Open( "12.jmp" );
/* Obtain a list of numeric/continuous column names as strings */
colList = dt << Get Column Names( Continuous, String );
/* Loop through the list to generate the desired graph
and save the report as a JPEG file */
For( i = 2, i <= Nitems( colList ), i++,
obj = dt << Variability Chart(<BR /> Y( ::Column( dt, colList[i] ) ),<BR /> X( :WAFER ),<BR /> Max Iter( 100 ),<BR /> Conv Limit( 0.00000001 ),<BR /> Number Integration Abscissas( 128 ),<BR /> Number Function Evals( 65536 ),<BR /> Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),<BR /> Connect Cell Means( 1 ),<BR /> Std Dev Chart( 1 ),<BR /> Automatic Recalc( 1 )<BR />);<BR />
);
obj << Save Picture("C:\Users\Ann Ann" || colList[i] ||".jpg", JPEG );
/* Close table and all invisible reports */
Close( dt, No Save );Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Ich bin mir nicht sicher, welche Erwartungen Sie haben, wenn Sie das sagen dass Sie möchten, dass sie wieder nach Excel exportiert werden?
JMP kann die grafische Ausgabe in Word oder PowerPoint speichern, jedoch nicht in Excel.JMP kann jedoch eine JMP-Datentabelle in Excel speichern, es speichert jedoch nur die Datentabelle, nicht die grafische Ausgabe.
Und Sie können die Grafiken manuell aus JMP ausschneiden und in Excel einfügen.
Könnten Sie bitte genauer darlegen, was Sie denken?
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Vielen Dank, Jim. Das ist in der Tat sehr inspirierend für mich.
Wenn ich alle diese Diagramme gerne nach Excel exportieren würde, muss ich dann auch den Zähler laden?Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Hier ist ein einfaches Beispiel, das Ihnen den Einstieg erleichtern soll.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Modify the sample data table to resemble Ann's data table
// Reduce the number of columns for the demonstration
dt << delete columns( Index( 15, N Cols( dt ) ) );
// Add a Serial Number to the parameters
For( i = 5, i <= N Cols( dt ), i++,
Column( dt, i ) << set name(
Substr( "000", 1, 3 - Length( Char( i - 4 ) ) ) || Char( i - 4 ) || ":" ||
Char( Column( dt, i ) << get name )
)
);
// Wait 5 seconds to allow for viewing of the new table before running the
// actual analysis script
Wait( 5 );
/**************************************************************************/
// Actual Analysis Script Example
// Point to the current data table
dt = Current Data Table();
// Find the Y Columns
numericColNamesList = dt << get column names( string, numeric );
// Loop accros the list from back to front and delete all columns
// not meeting the right structure
// nnnnn:cccccc
For( i = N Items( numericColNamesList ), i >= 1, i--,
If(
Not(
Is Missing( Num( Word( 1, numericColNamesList[i], ":" ) ) ) == 0 &
Word( 2, numericColNamesList[i], ":" ) != ""
),
numericColNamesList = Remove( numericColNamesList, i, 1 )
)
);
// Run the Variance Charts
// With dynamic Y columns and fixed X columns
Variability Chart( Y( Eval( numericColNamesList ) ), X( :lot_id, :SITE ) );
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Hallo Jim,
Die Y-Variablen hätten die folgenden Merkmale:
(1) Es handelt sich um numerische Spalten
(2) Der Name des Parameters würde immer mit einer Seriennummer beginnen, gefolgt von Buchstaben. Zum Beispiel:
001: Spannungsdifferenz <> PinOut
002: Resistance_div <> PinIn
Danke schön,
Ann Ann
Betreff: Wie schreibe ich ein Skript, um beliebige Parameter basierend auf den Rohdaten darstellen zu können?Ann,
Sobald die X- und Y-Spalten identifiziert sind, ist die Einrichtung recht einfach. Sie geben an, dass die X-Spalten im Skript definiert werden, sodass eine davon behandelt wird.Aber ich bin etwas verwirrt über die Y-Spalten.Könnten Sie etwas detaillierter darlegen, wie man eine Y-Spalte in Ihrer Datentabelle identifizieren würde?
Irgendeine fortlaufende, numerische Spalte?
Gibt es eine Spalte, die in Ihrem Skript nicht als X-Spalte definiert ist?
Jede Spalte, die mit einer bestimmten Buchstabenfolge usw. beginnt.