Échelle de l'axe Y de Control Chart Builder - puis-je définir dynamiquement à l'aide de JSL ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Nouveau dans Control Chart Builder, mais je l'aime jusqu'à présent !Il semble que les filtres de données locaux fonctionnent avec cette plateforme (alors que les cartes de contrôle antérieures à CCB ne les prenaient pas en charge ?).Le seul problème que je rencontre est que lorsqu'un filtre de données local est utilisé, la sélection dans le filtre n'entraîne pas d'ajustement d'échelle.Je remarque que les LCL/Avg/UCL sont mis à jour en fonction de la sélection du filtre de données local, mais l'échelle reste statique.
Première question, existe-t-il un moyen de forcer un recalcul de balance ?Sinon, j'ai pensé à l'option suivante :
- Je peux envoyer des changements d'échelle via cet extrait de code JSL lorsque je génère initialement le graphique :
mais ce dont j'ai vraiment besoin, c'est que l'échelle soit définie en fonction de la sélection du filtre de données local.
Je pense que je pourrais utiliser les LCL et UCL calculés dynamiquement pour ajuster les paramètres d'échelle Min et Max :
- Existe-t-il un moyen d'accéder dynamiquement aux valeurs UCL et LCL (à chaque recalcul) ?
- Si tel est le cas, je pourrais les définir comme variables, puis utiliser une formule pour définir l'échelle :
Est-ce la bonne approche ? ou existe-t-il un moyen plus simple d'obtenir le résultat souhaité ?merci
Re : Échelle de l'axe Y du Control Chart Builder - puis-je la définir dynamiquement à l'aide de JSL ?Merci Jim!j'ai fait fonctionner la partie ci-dessus !!
Re : Échelle de l'axe Y du Control Chart Builder - puis-je la définir dynamiquement à l'aide de JSL ?J'ai travaillé mon exemple un peu plus loin.Il change désormais dynamiquement l'axe lorsque le filtre de données est modifié.Le filtre de données est désormais un filtre global, le code peut donc récupérer les modifications apportées à la sélection dans la table de données.
Noms par défaut ici ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA\capacité de semi-conducteur.jmp" ) ;
F = Fonction ( { un } ,
// Capturez le LCL et l'UCL à partir de la zone de plan des résumés de limites dans la sortie du rapport
monLCL = ( Rapport ( ccb )[ "Résumés des limites NPN1" ][ Boîte de table ( 1 )][ 2 ] << obtenir )[ 1 ] ;
monUCL = ( Rapport ( ccb )[ "Résumés des limites NPN1" ][ Boîte de table ( 1 )][ 4 ] << obtenir )[ 1 ] ;
// Réapplique à la carte de contrôle les nouveaux paramètres d'axe
Rapport ( ccb )[ Boîte d'axe ( 3 )] << Min. ( monLCL ) ;
Rapport ( ccb )[ Boîte d'axe ( 3 )] << Max. ( monUCL ) ;
) ;
rs = dt << créer un gestionnaire d'état de ligne ( F ) ;
Nouvelle fenetre ( "Exemple de travail" ,
Zone contextuelle du filtre de données (
Zone de liste H (
dt << Filtre de données ( Ajouter un filtre ( Colonnes ( : SITE ) ) , Mode ( sélectionner ( 1 ) , montrer ( 1 ) , inclure ( 1 )) ) ,
Plate-forme ( dt ,
ccb = Générateur de cartes de contrôle (
Taille ( 534 , 453 ) ,
Afficher le panneau de configuration ( 0 ),
Variables ( Oui ( : NPN1 ) ) ,
Graphique ( Position ( 1 ) , Limites ) ,
Graphique ( Position ( 2 ) ) ,
EnvoyerVersRapport (
Expédition (
{} ,
"NPN1" ,
Boîte à échelle ,
{ Min. ( 96.6346153846154 ) , Max. ( 131.634615384615 ) , Inc. ( 5 ) , Tiques mineures ( 0 ) ,
Ajouter une ligne de référence ( 104.412948990151 , "Solide" , "Bleu" , "LSL" , 1 ) ,
Ajouter une ligne de référence ( 131.893493064355 , "Solide" , "Bleu" , "USL" , 1 ) ,
Ajouter une ligne de référence ( 118.153221027253 , "Solide" , "Bleu" , "Cible" , 1 )}
)
)
)
)
)
)
) ;
Re : Échelle de l'axe Y du Control Chart Builder - puis-je la définir dynamiquement à l'aide de JSL ?La sortie du rapport des plateformes est disponible pour jsl.Le script ci-dessous exécute un générateur de carte de contrôle, puis capture l'UCL et la LCL à partir de la sortie et l'applique au paramètre d'axe du rapport.
La structure arborescente de la sortie du rapport peut être vue par rt. en cliquant avec la souris sur Développer/Réduire (triangle gris) pour la zone de plan du rapport, puis en sélectionnant Édition ==> Afficher l'arborescence.
Les noms par défaut sont ici ( 1 ) ;
dt = ouvrir ( "$SAMPLE_DATA\capacité de semi-conducteur.jmp" ) ;
ccb = Générateur de cartes de contrôle (
Taille ( 534 , 453 ) ,
Afficher le panneau de configuration ( 0 ),
Variables ( Oui ( : NPN1 ) ) ,
Graphique ( Position ( 1 ) , Limites ) ,
Graphique ( Position ( 2 ) ) ,
Filtre de données locales ( Ajouter un filtre ( Colonnes ( : SITE ) ) ) ,
EnvoyerVersRapport (
Expédition (
{} ,
"NPN1" ,
Boîte à échelle ,
{ Min. ( 96.6346153846154 ) , Max. ( 131.634615384615 ) , Inc. ( 5 ) ,
Tiques mineures ( 0 ) , Ajouter une ligne de référence (
104.412948990151 ,
"Solide" ,
"Bleu" ,
"LSL" ,
1
) , Ajouter une ligne de référence ( 131.893493064355 , "Solide" , "Bleu" , "USL" , 1 ) ,
Ajouter une ligne de référence ( 118.153221027253 , "Solide" , "Bleu" , "Cible" , 1 )}
)
)
) ;
// Capturez le LCL et l'UCL à partir de la zone de plan des résumés de limites dans la sortie du rapport
monLCL = ( rapport ( ccb )[ "Résumés des limites NPN1" ][ Boîte de table ( 1 )][ 2 ] << obtenir )[ 1 ] ;
monUCL = ( rapport ( ccb )[ "Résumés des limites NPN1" ][ Boîte de table ( 1 )][ 4 ] << obtenir )[ 1 ] ;
// Réapplique à la carte de contrôle les nouveaux paramètres d'axe
rapport ( ccb )[ Boîte d'axe ( 3 )] << min ( monLCL ) ;
rapport ( ccb )[ Boîte d'axe ( 3 )] << maximum ( monUCL ) ;