Quelques notes rapides sur l'ajout de lignes de limite de spécification à toutes les colonnes d'un tableau avec des limites de spécification
Lorsque les limites de spécification sont définies dans les propriétés d'une colonne, il est souvent pratique de dessiner les limites de spécification sous forme de lignes de référence sur les graphiques de cette colonne. je Dans les propriétés de colonne pour Spec Limits, il y a une case à cocher qui entraînera l'utilisation de la spécification de cette colonne chaque fois que la colonne est utilisée sur un graphique. On pourrait vouloir cocher cette petite case sur toute une série de colonnes qui ont des spécifications. Manuellement ce serait fastidieux donc voici un peu de JSL pour accomplir cette tâche.
Le script collecte une liste de colonnes continues. (les colonnes de caractères et nominales n'auraient de toute façon pas de spécifications.)
Le script obtient la propriété de colonne Spec Limits de chaque colonne de colonne de la liste. La fonction, Get Column Properties, obtient toutes les propriétés, mais ce n'est pas ce que nous voulons ici, donc nous extrayons uniquement la propriété spec limit. S'il n'y a pas de propriété Spec Limit, alors Empty() est renvoyé.
Ensuite, le script insère y, qui est une expression non évaluée contenant "show limits(1)" dans la liste provenant de la propriété Spec Limits.
Enfin, le script définit la nouvelle propriété Spec Limit sur la colonne avec laquelle elle a commencé... à moins que la propriété Spec Limit ne soit une expression plutôt qu'une liste.
Problèmes avec les types de propriétés de colonne ?
Il existe deux façons de configurer une propriété de colonne
1. En tant qu'expression :
col << Définir la propriété ( « Limites des spécifications » , Limites des spécifications ( LSL ( dix ) , USL ( 50 ) , Cible ( 30 ) ) ) ;
2 Sous forme de liste :
col<< Définir la propriété ( « Limites des spécifications » , { LSL ( dix ) , USL ( 50 ) , Cible ( 30 )} ) ;
Un peu d'explication : Cette partie du script...
si ( Nom de la tête Expr ( un ) == « Limites des spécifications » ,
nn = narg ( un ) ;
aa = {} ;
pour ( ii = 1 , ii <= nn , ii ++, insérer dans ( aa , argument ( un , ii ))) ; montrer ( aa ) ;
colliste [ je ] << Supprimer la propriété ( « Limites des spécifications » ) ;
colliste [ je ] << définir la propriété ( « Limites des spécifications » , eval ( aa ))
...vérifie si la propriété de spécification est le type d'expression. Insère ensuite les composants de l'argument dans une liste. Après suppression la propriété existante, la nouvelle propriété de type de liste est rajoutée.
/////////////////Ceci est le script pour normaliser le type de propriété de la colonne de spécification///////////////////// //////
dt = tableau de données actuel () ;
colliste = dt << obtenir les noms de colonnes ( Continu ) ;
pour ( je = 1 , je <= articles ( colliste ) , je ++,
un = colliste [ je ] << obtenir une propriété ( « Limites des spécifications » ) ;
y = expr ( montrer les limites ( 1 )) ;
insérer dans ( un , nomexpr ( y )) ;
montrer ( un ) ;
si ( Nom de la tête Expr ( un ) == « Limites des spécifications » ,
nn = narg ( un ) ;
aa = {} ;
pour ( ii = 1 , ii <= nn , ii ++, insérer dans ( aa , argument ( un , ii ))) ; montrer ( aa ) ;
colliste [ je ] << Supprimer la propriété ( « Limites des spécifications » ) ;
colliste [ je ] << définir la propriété ( « Limites des spécifications » , eval ( aa )) ,
colliste [ je ] << définir la propriété ( « Limites des spécifications » , eval ( un ))
)) ;
Pour tester : Il s'agit d'un cas de test réduit à utiliser comme exemple (exécutant JMP 12.2) Ce morceau de JSL crée une nouvelle table avec les deux types différents de formats de propriété spec.
dt = Nouveau tableau ( "cible" , Ajouter des lignes ( 1 ), Nouvelle colonne ( "un B" , Numérique , "Continu" , Format ( "Meilleur" , 12 ) , Définir les valeurs ( [ 1 ] ) ) ,
Nouvelle colonne ( "b moins a" , Numérique , "Continu" , Format ( "Meilleur" , 12 ) , Définir la sélection , Définir les valeurs ( [ 3 ] ) ) ) ;
//Ajouter les deux formats de limites de spécification
: colonne ( 1 ) << Définir la propriété ( « Limites des spécifications » , Limites des spécifications ( LSL ( dix ) , USL ( 50 ) , Cible ( 30 ) ) ) ;
: colonne ( 2 ) << Définir la propriété ( « Limites des spécifications » , { LSL ( 1 ) , USL ( 5 ) , Cible ( 3 )} ) ;
aa = : colonne ( 1 ) << obtenir une propriété ( « Limites des spécifications » ) ; montrer ( aa ) ;
bb = : colonne ( 2 ) << obtenir une propriété ( « Limites des spécifications » ) ; montrer ( bb ) ;
Sur ces liens, il y a plus de commentaires et de problèmes qui pourraient être utiles :
Essayer d'extraire les limites de spécification des colonnes
Afficher comme lignes de référence du graphique
http://www.jmp.com/support/notes/46/953.html