Ajout du script de limites de spécification, erreur lors du passage à jmp 16Salut les gens, nouveau dans les scripts jmp.J'ai un script joint qui a été écrit en 2012 et qui ne fonctionne plus depuis le passage à jmp16, il a fonctionné sous jmp14.Cela me permet essentiellement de lire dans les limites supérieures et inférieures des spécifications 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é l'entreprise.
Merci d'avance pour toute aide.


ScriptRe : Ajout du script de limites de spécification, 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 rechercher 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écification 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
)
);
)
)
);
Re : Ajout du script de limites de spécification, 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 raté une ligne d'origine 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 que vous proposez.
Quand je regarde les valeurs de la version, il lit certainement 16 sorcières, c'est ce que je cours.Il raccroche lorsque j'essaie de regarder Names Default to Here ?
Noms par défaut ici (1);
Version = Version JMP ();
Merci
Re : Ajout du script de limites de spécification, 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 volumineux, 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 Spec Limits si la colonne n'est pas une colonne continue numérique.
Retirer le
Version = JMPVersion();
et utilisez votre
Version = "Limits as Attributes, v2.1 December 24, 2012";