Beim Hinzufügen des Skripts für Spezifikationsgrenzen tritt ein Fehler beim Wechsel zu JMP 16 aufHallo Leute, ich bin neu im JMP-Scripting.Ich habe ein Skript angehängt, das 2012 geschrieben wurde und seit dem Wechsel zu jmp16 nicht mehr funktioniert. Es funktionierte unter jmp14.Es ermöglicht mir grundsätzlich, die oberen und unteren Spezifikationsgrenzen für alle Spaltenparameter einzulesen. Unten finden Sie die Fehlermeldung und ein Beispiel meiner Datendatei, nachdem ich sie eingelesen habe.Jede Hilfe wäre sehr dankbar.Ich habe das Drehbuch nicht geschrieben und die Person hat das Unternehmen inzwischen verlassen.
Vielen Dank im Voraus für jede Hilfe.


Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVersuchsplanungQualitäts- und VerfahrenstechnikBetreff: Hinzufügen des Skripts zu Spezifikationsgrenzen, Fehler beim Wechsel zu JMP 16Vielen Dank, Sir, das hat geholfen!!
Betreff: Hinzufügen des Skripts zu Spezifikationsgrenzen, Fehler beim Wechsel zu JMP 16Bei Names Default to Here() gibt es nichts zu beachten.Es wird lediglich ein Standardbereich festgelegt.Wenn sich Ihr Code in der Mitte eines größeren Codeabschnitts befindet, sollte „Names Default to Here()“ in die erste Zeile der JSL verschoben werden. Wenn das nicht funktioniert, entfernen Sie die Zeile vollständig.Ich habe außerdem eine neue If()-Klausel hinzugefügt, um die Spezifikationsgrenzen nicht zu verarbeiten, wenn die Spalte keine numerische fortlaufende Spalte ist.
Entferne das
Version = JMPVersion();
und benutze deine
Version = "Limits as Attributes, v2.1 December 24, 2012";
Betreff: Hinzufügen des Skripts zu Spezifikationsgrenzen, Fehler beim Wechsel zu JMP 16Danke TX,
Immer noch die gleiche Fehlermeldung.Ich glaube, Sie haben nur zwei Zeilen hinzugefügt, sonst keine Änderungen?
Mir ist aufgefallen, dass ich eine Originalzeile in der Organisationsdatei übersehen habe.
Version = „Grenzwerte als Attribute, v2.1, 24. Dezember 2012“;
Das Obige befand sich in der Originaldatei. Ich bin mir nicht sicher, ob sich dadurch Ihre vorgeschlagene Lösung ändert.
Wenn ich mir die Werte für die Version ansehe, wird auf jeden Fall 16 angezeigt, was ich verwende.Es bleibt hängen, wenn ich versuche, „Names Default to Here?“ anzusehen.
Namen standardmäßig hier (1);
Version = JMP-Version ();
Danke
Betreff: Hinzufügen des Skripts zu Spezifikationsgrenzen, Fehler beim Wechsel zu JMP 16Es gab zwei Probleme.
- Der Wert für die Variable „Version“ wurde nicht gesetzt.
- In JMP 16 stoppt der Code, wenn er auf eine Zeichenvariable stößt.
Ich habe beide Probleme behoben.Anstatt nach dem Datentyp „Zeichen“ zu suchen, überprüfe ich tatsächlich, ob der Modellierungstyp „Kontinuierlich“ ist.Für nominale oder ordinale numerische Spalten sollten ebenfalls keine Spezifikationsgrenzen festgelegt sein.
Names Default To Here( 1 );
version = JMP Version();
/*** This script will save the values in the specified rows as ***/
/*** Spec Limit column attributes for each respective column. ***/
/*** If there is no value for a particular column, the Spec ***/
/*** Limit attribute for that column will not be changed. By ***/
/*** saving the limits as column attributes, the Cpk analysis ***/
/*** along with limits reference markers, will automatically ***/
/*** be generated whenever a distribution is generated for a ***/
/*** column. ***/
/*** Alternatively, this script can be used to delete the ***/
/*** Spec Limits column attributes altogether by checking the ***/
/*** "Delete Attributes" checkbox. ***/
// 10/28/2004 v2.0
// 12/24/2012 v2.1, modified to handle limits with units, like "2 Ohms"
Limits_dlg = Dialog(
Text Box( Version ),
Text Box( " " ),
Text Box( " " ),
Text Box( " " ),
Text Box( "Spec Limits:" ),
Text Box( " " ),
LineUp( 2,
"LSL is in row", LSLRow = EditNumber( 1 ),
"USL is in row", USLRow = EditNumber( 2 )
),
Text Box( " " ),
Text Box( " " ),
Text Box( " " ),
Text Box( "My table already has Spec Limits attributes, and I want to delete them... " ),
DelAttr = Check Box( "Delete Attributes", 0 ),
Text Box( " " ),
HList( Button( "OK" ), Button( "Cancel" ) )
);
If( Limits_dlg["Button"] == -1,
Throw( "!User Cancelled" )
);
If( Limits_dlg["DelAttr"] == 1,
For( i = 1, i < N Col() + 1, i++,
Column( i ) << Delete Property( "Spec Limits" )
),
//Else...
For( i = 1, i < N Col() + 1, i++,
If( As Column( i ) << get modeling type == "Continuous",
LSpec = Column( i )[Limits_dlg["LSLRow"]];
LSpec = Num( Word( 1, Char( LSpec ) ) ); //Truncate to numeric if it has units appended to it.
USpec = Column( i )[Limits_dlg["USLRow"]];
USpec = Num( Word( 1, Char( USpec ) ) ); //Truncate to numeric if it has units appended to it.
Eval(
Substitute(
Expr(
Column( i ) << Set Property(
"Spec Limits",
{LSL( _LSL ), USL( _USL ), show limits( 1 )}
)
),
Expr( _LSL ), LSpec,
Expr( _USL ), USpec
)
);
)
)
);