Afficher sous forme de lignes de référence de graphique<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'importe les limites des spécifications avec un script dans chaque table de données que je souhaite représenter graphiquement.Alors que les distributions affichent les spécifications, ce n’est pas le cas des boîtes à moustaches.J'ai essayé d'insérer "Afficher les limites des spécifications (1) dans plusieurs zones, mais sans succès.Je suis un noob JSL, donc à la recherche d'une certaine expertise.Passer par l'interface graphique des propriétés de chaque colonne pour cocher la case est ingérable.Voici un extrait de code ;
dt = open("datatable.jmp");
obj = Capacité (
Y( :spec1, :spec2, :spec3, :spec4 ),
Limites de spécifications( Importer les limites de spécifications("spec_limits_table.jmp")));
obj << Afficher les limites (1);
obj << Enregistrer les limites des spécifications en tant que propriétés de colonne ;
Re : Afficher sous forme de lignes de référence de graphiqueCela fonctionne à merveille Jim.Merci!!!
Re : Afficher sous forme de lignes de référence de graphiqueJ'ai exécuté votre script inclus et j'ai découvert que Capability Platform crée ce que je pense être des propriétés de colonne de limite de spécification mal structurées.J'ai envoyé ceci à JMP pour sa réponse.
Tout ce qui doit changer, c'est la méthode d'extraction des limites de spécifications actuelles, compte tenu de votre structure actuelle.La nouvelle structure n'est pas une liste,
Voici le script retravaillé qui, je pense, fonctionnera avec vos données.N'oubliez pas qu'une fois la valeur Afficher les limites définie, JMP modifiera la structure de la propriété de limite de spécification, de sorte que le futur "get property("spec limites")" renverra les limites de spécification sous forme de liste, et non la structure étrange attribuée par la capacité. Plate-forme.
Noms par défaut ici ( 1 );
dt= tableau de données actuel ();
// Récupère toutes les colonnes numériques de la table de données
Colonnes numériques = dt << obtenir les noms de colonnes ( numérique, chaîne );
// Boucle sur toutes les colonnes et définit les limites d'affichage
Pour ( je = 3 , je <= N articles ( Colonnes numériques ), i++,
// Si la requête pour obtenir les limites des spécifications renvoie une valeur vide,
// la colonne n'a pas de limites de spécifications, donc ne définissez pas Show Limits
Si ( Est vide ( Colonne ( dt, colonnes numériques ) << obtenir une propriété ( "limites des spécifications" ) ) == 0 ,
// Il s'agit de la structure de la liste des limites des spécifications. Si vous définissez uniquement le
// Afficher les limites, cela effacera les autres limites, elles doivent donc être
// récupéré et remplacé dans la structure
valeurs spécifiques = Carboniser ( colonne (dt, colonnes numériques ) << obtenir une propriété ( "limites des spécifications" ) );
LSL = Essayer ( Numéro ( Mot ( 2 , Sous-titre (valeurs spécifiques, Contient (valeurs spécifiques, "LSL(" ) ), "()" ) ), . );
USL = Essayer ( Numéro ( Mot ( 2 , Sous-titre (valeurs spécifiques, Contient (valeurs spécifiques, "USL(" ) ), "()" ) ), . );
Cible = Essayer ( Numéro ( Mot ( 2 , Sous-titre (valeurs spécifiques, Contient (valeurs spécifiques, "Cible(" ) ), "()" ) ), . );
Évaluer (
Remplaçant (
Expr (
Colonne ( dt, __col__ ) << Définir la propriété (
"Limites des spécifications" ,
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Afficher les limites( 1 )}
)
),
Expr ( __col__ ), colonnes numériques ,
Expr ( __LSL__ ), LSL,
Expr ( __USL__ ), USL,
Expr ( __Cible__ ), Cible
)
);
)
);
Re : Afficher sous forme de lignes de référence de graphiqueDésolé, j'ai manqué les spécifications de sauvegarde finales cmd.
obj << Enregistrer les limites des spécifications en tant que propriétés de colonne ;
Re : Afficher sous forme de lignes de référence de graphiqueJe ne suis pas sûr de vous suivre sur la structure de mes Spec Limits.Vous trouverez ci-dessous le script que j'exécute pour attacher les limites, qui remplit toutes les limites dans les colonnes spécifiées.Cela provient d'exemples de script dans l'aide.Est-ce que j'ai raté quelque chose ?
J'ai essayé 2 méthodes, aucune n'a réussi ;
1. Ajoutez votre code à ce script et exécutez
2. Exécutez ce script sur dt.Enregistrez le dt avec les limites des spécifications.Exécutez le code ci-dessus dans un script séparé.
Noms par défaut ici (1);
dt = Ouvrir( "C:\junk1_example.jmp" );
obj = Capacité (
Oui(
:Nom( "Met1_Res/um" ),
:Nom( "Met2_Res/um" ),
:Nom( "Met3_Res/um" ),
:Nom( "Met4_Res/um" ),
),
Limites des spécifications(:Name( "Met1_Res/um" ) (LSL(1.0), Target(1.3), USL(1.6) ),
:Nom( "Met2_Res/um" ) (LSL(1.0), Target(1.3), USL(1.6) ),
:Nom( "Met3_Res/um" ) (LSL(1.0), Target(1.3), USL(1.6) ),
:Nom( "Met4_Res/um" ) (LSL(1.0), Target(1.3), USL(1.6) )
)
);
Re : Afficher sous forme de lignes de référence de graphiqueTout d'abord, il y a une petite erreur dans le code que j'ai posté.La ligne:
Si ( Est vide ( Colonne ( dt , Colonnes numériques [ je ] ) ) == 0 ,
devrait en fait être :
Si ( Est vide ( Colonne ( dt , Colonnes numériques [ je ] ) << obtenir une propriété ( "limites des spécifications" ) ) == 0 ,
mais ce n'est pas la raison pour laquelle le script élimine les limites des spécifications.
La raison de ce problème est que, quelle que soit la méthode que vous utilisez pour renseigner les limites dans le tableau de données d'origine, les limites ont été mal spécifiées.Même s'ils semblent fonctionner sur les plates-formes de distribution, etc., la spécification réelle de la limite de spécification a été mal faite.
Lorsque la propriété spec limit est extraite de la table de données que vous avez jointe à votre dernière réponse, voici ce qui est renvoyé :
Limites de spécifications (LSL (1), USL (1,6), cible (1,3)
Ce qu'il faut restituer c'est :
{LSL( 1 ), USL( 1.6 ), Cible( 1.3 )}
Si vous accédez manuellement aux limites de spécifications pour la colonne Met1_Res/um et cochez la case « Afficher les limites », la liste des limites est modifiée selon la structure appropriée.
Si vous prenez le code d'origine que j'ai inclus et que vous l'exécutez sur la table de données de capacité des semi-conducteurs, telle qu'elle est configurée pour s'exécuter, vous verrez qu'il définit la valeur "Afficher les limites".Si vous modifiez la structure correcte des limites de spécifications dans votre exemple de tableau de données, cela fonctionnera également.
Bien sûr, un script pourrait être écrit pour lire la structure qui se trouve dans la table de données d'origine, et la structure sera alors automatiquement remplacée par la structure correcte, lorsque la valeur limite affichée sera remplacée, ainsi que les limites.Mais je déconseillerais cela, mais plutôt de comprendre et de corriger le pgm qui spécifie incorrectement la structure des limites incorrectes.
Re : Afficher sous forme de lignes de référence de graphiqueJMP12.2
J'ai exécuté votre code en échangeant le dt -> Ouvrir le fichier uniquement.En gros, exécuter votre code sur mes données.
Re : Afficher sous forme de lignes de référence de graphiqueQuelle version de JMP utilisez-vous ?
Les commentaires que vous dites, basés sur l'exécution du code, sont-ils inchangés, que j'avais inclus dans ma réponse, ou les commentaires sont-ils basés sur l'exécution de ce code sur votre table de données ?
Pouvez-vous joindre le tableau de données que vous utilisez ?
Re : Afficher sous forme de lignes de référence de graphiquePour une raison quelconque, les noms de colonnes get (numériques, chaînes) éliminent mes limites de spécifications.Si je modifie pour obtenir les noms de colonnes (numériques), les limites restent, mais la case Afficher les spécifications n'est pas cochée.
Re : Afficher sous forme de lignes de référence de graphiqueVoici un script qui définira les limites d'affichage pour toutes les colonnes numériques de la table de données, si la colonne a des limites de spécifications.
Noms par défaut ici ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA/capacité de semi-conducteur.jmp" ) ;
// Récupère toutes les colonnes numériques de la table de données
Colonnes numériques = dt << obtenir les noms de colonnes ( numérique , chaîne ) ;
// Boucle sur toutes les colonnes et définit les limites d'affichage
Pour ( je = 3 , je <= N articles ( Colonnes numériques ) , je ++,
// Si la requête pour obtenir les limites des spécifications renvoie une valeur vide,
// la colonne n'a pas de limites de spécifications, donc ne définissez pas Show Limits
Si ( Est vide ( Colonne ( dt , Colonnes numériques [ je ] ) ) == 0 ,
// Il s'agit de la structure de la liste des limites des spécifications. Si vous définissez uniquement le
// Afficher les limites, cela effacera les autres limites, elles doivent donc être
// récupéré et remplacé dans la structure
Évaluer (
Remplaçant (
Expr (
Colonne ( dt , __col__ ) << Définir la propriété (
"Limites des spécifications" ,
{ LSL ( __LSL__ ) , USL ( __USL__ ) , Cible ( __Cible__ ) , Afficher les limites ( 1 )}
)
) ,
Expr ( __col__ ) , Colonnes numériques [ je ] ,
Expr ( __LSL__ ) , Essayer ( ( Colonne ( dt , Colonnes numériques [ je ] ) << obtenir une propriété ( "Limites des spécifications" ))[ "LSL" ] , . ) ,
Expr ( __USL__ ) , Essayer ( ( Colonne ( dt , Colonnes numériques [ je ] ) << obtenir une propriété ( "Limites des spécifications" ))[ "USL" ] , . ) ,
Expr ( __Cible__ ) , Essayer ( ( Colonne ( dt , Colonnes numériques [ je ] ) << obtenir une propriété ( "Limites des spécifications" ))[ "Cible" ] , . )
)
)
)
) ;