Ajout du script de limites de spécifications, erreur lors du passage à jmp 16Salut les gens, nouveau dans les scripts jmp.J'ai ci-joint un script qui a été écrit en 2012 et qui ne fonctionne plus depuis le passage à jmp16, il fonctionnait sous jmp14.Cela me permet essentiellement de lire les limites de spécifications supérieure et inférieure pour tous les paramètres de colonne. Vous trouverez ci-dessous le message d'erreur et un échantillon de mon fichier de données une fois que je l'ai lu.Toute aide serait grandement appréciée.Je n’ai pas écrit le scénario et la personne a depuis quitté la société.
Merci d'avance pour toute aide.


Modélisation statistique avancéeAutomatisation et scriptsConception d'expériencesIngénierie Qualité et ProcédésRe : Ajout d'un script de limites de spécifications, erreur lors du passage à jmp 16Merci gentiment monsieur, ça a fait l'affaire !!
Re : Ajout d'un script de limites de spécifications, erreur lors du passage à jmp 16Il n'y a rien à surveiller avec Names Default to Here().Il s'agit simplement de définir une portée par défaut.Si votre code se trouve au milieu d'un morceau de code plus grand, le Names Default to Here() doit être déplacé vers la première ligne du JSL, et si cela ne fonctionne pas, supprimez complètement la ligne.J'ai également ajouté une nouvelle clause If(), pour ne pas traiter les limites de spécifications si la colonne n'est pas une colonne numérique continue.
Retirer le
Version = JMPVersion();
et utilisez votre
Version = "Limits as Attributes, v2.1 December 24, 2012";
Re : Ajout d'un script de limites de spécifications, erreur lors du passage à jmp 16Merci TX,
Toujours le même message d'erreur.Vous n'avez ajouté que deux lignes je crois, pas d'autres changements ?
J'ai remarqué que j'avais manqué une ligne originale dans le fichier org.
Version = « Limites en tant qu'attributs, v2.1 24 décembre 2012 » ;
ci-dessus était dans le fichier d'origine, je ne sais pas si cela change la solution proposée.
Lorsque je regarde les valeurs de la version, il est certainement indiqué 16, ce que j'utilise.Il raccroche lorsque j'essaie de regarder Names Default to Here ?
Noms par défaut ici (1);
Version = version JMP ();
Merci
Re : Ajout d'un script de limites de spécifications, erreur lors du passage à jmp 16Il y avait 2 problèmes.
- La valeur de la variable "Version" n'a pas été définie.
- Dans JMP 16, le code s'arrête lorsqu'il rencontre une variable Caractère.
J'ai résolu les deux problèmes.Plutôt que de vérifier un type de données de caractère, je vérifie en fait que le type de modélisation est continu.Les colonnes numériques nominales ou ordinales ne doivent pas non plus avoir de limites de spécifications définies.
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
)
);
)
)
);