Extraction des paramètres sélectionnés par l'utilisateur pour X et Y lors du traçage de graphiques de variabilité<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Être vraiment nouveau dans les scripts en jmp. J'ai une question à ce sujet, voici un script que j'ai écrit. Ce que je compte faire, c’est que j’ai deux tables. La première table contient les limites de chaque test, par exemple (gardez à l’esprit que la table contient quelques milliers de tests, ce n’est qu’un exemple).
Tableau 1
| Tester | Limite inférieure | Limite supérieure |
|---|
| test 1 | 3 | dix |
| test 2 | 3.4 | 12 |
| test 3 | 5 | 12 |
Et l'autre table (quelques milliers de colonnes) contient les résultats du test
Tableau 2
| Test 1 | Test 2 | Test 3 |
|---|
| 5 | 6 | 8 |
| 5 | 6.1 | 8.11 |
| 5.2 | 6.23 | 8.12 |
Et ce que je compte faire, c'est tracer un graphique de variabilité pour le second tableau pour quelques tests sélectionnés (4 ou 5), et j'aimerais que le graphique de variabilité trace automatiquement les lignes de référence en fonction des limites du premier tableau - les courbes supérieure et inférieure. limite. Maintenant, je suis coincé dans cette situation où je ne sais pas comment compléter mon script. Actuellement, cela ressemble à ceci: je peux obtenir que la ligne de référence soit tracée à un point fixe, disons "1". Mais ce que je veux être capable de faire est d'extraire le test que l'utilisateur décide de tracer, d'extraire les limites de la première table de données et de tracer les limites comme une ligne de référence.
Existe-t-il un moyen d'extraire les paramètres sélectionnés par l'utilisateur (X et Y) du graphique de variabilité, et d'utiliser la recherche de ses limites pour tracer la ligne de référence? A partir de maintenant, mon code ressemble à ceci
dt_data1 = table de données (1); // la table des limites
dt_data2 = table de données (2); // la table de données réelle
// Début de la fenêtre graphique
// ---------------------------------------------------- --------------------------------------------------
ColSel = Filtre sélecteur de colonnes (Table de données (dt_data1), 250, 10, ColumnToPlot = ColSel << Get Selected);
ColSel << Set Max Selected (2); // Le nombre maximum autorisé de colonnes sélectionnées est 1
win = New Window ("Test",
<< modal,
Zone de texte ("Colonnes pour tracer un tableau de variabilité"),
ColSel,
go = Boîte à boutons ("OK",
ColumnToPlot = ColSel << Obtenir la sélection
)
)
// ---------------------------------------------------- -----------------------------------------------
// Fin de la fenêtre graphique
Attendre (1);
Table de données actuelle (dt_data2);
Colnames = dt_data2 << Obtenir les noms de colonne (Numérique, chaîne);
LowerLimit = noms de colonne [2];
UpperLimit = colnames [3];
Table de données actuelle (dt_data1);
Tableau de variabilité (
Max Iter (100),
Conv Limit (0.00000001),
Abscissas d'intégration de nombres (128),
Nombre Fonction Evals (65536),
Type d'analyse ("Choisir la meilleure analyse (EMS REML Bayesian)"),
Points nerveux (1),
Afficher les tracés de boîte (1),
Std Dev Chart (0),
Montrer les barres d'alignement (1),
SendToReport (
Envoi(
"",
"2",
ScaleBox,
{Ajouter une ligne de référence (0, "Uni", "Noir", "", 1),
Ajouter une ligne de référence (1, "Solide", "Bleu", "", 2); } // Remplace 1 par la valeur importée
)
)
)
Re: Extraction des paramètres sélectionnés par l'utilisateur pour X et Y lors du traçage de graphiques de variabilitéMerci de signaler que je peux utiliser les propriétés de la colonne pour définir les limites de cette façon!
Re: Extraction des paramètres sélectionnés par l'utilisateur pour X et Y lors du traçage de graphiques de variabilitéSi vous déplacez les limites dans la propriété de colonne spec limits pour chacune des colonnes de votre table de données de mesure, à partir de votre table de données de limites, la plate-forme Variability Chart affiche automatiquement les limites.
Voici un script que j'ai écrit récemment pour répondre à une question publiée sur "Importation des limites de contrôle". ce script lit une table de données de limites et la déplace dans une table de données de mesure.
// Avant d'exécuter ce script, ouvrez les tables de données de mesure et de limites.
// Si vous utilisez les deux fichiers joints à la réponse, dtmeas = et
// dtlim = les instructions ci-dessous pointent vers la table de données correcte. Mais si
// vous utilisez différentes tables de données, vous devez modifier les noms des tables de données
Noms par défaut jusqu'ici ( 1 ) ;
dtmeas = Tableau de données ( "Tableau de mesures" ) ;
dtlim = Tableau de données ( "Tableau des limites" ) ;
// Fractionner la table de données en fonction du code de notation afin que chaque groupe se trouve dans un groupe différent.
// colonne
dtsplitmeas = dtmeas << Divisé ( Divisé par ( : GRDBWT ) , Divisé ( : Poids de base de l'ACC ) ) ;
// Récupère les noms de colonne de la table de données divisée, qui sont vraiment les différents
// codes de classe
cols = dtsplitmeas << obtenir des noms de colonnes ( chaîne ) ;
// Boucle sur la table de données divisée et lit les valeurs de cette colonne à partir du
// table de données dtlim. Remplir les limites de spécification et de contrôle
Pour ( je = 1 , je <= N Cols ( dtsplitmeas ) , je ++,
chaux = Essayer ( ( dtlim << obtenir des rangées où ( dtlim : Gradecode == cols [ je ] )) [ 1 ] , . ) ;
Si ( Est manquant ( limRow ) == 0 ,
spécifications = { LSL ( . ) , USL ( . ) , Cible ( . ) , Afficher les limites ( 1 )} ;
spécifications [ "LSL" ] = dtlim : FAIBLE [ chaux ] ;
spécifications [ "Cible" ] = dtlim : TARG [ chaux ] ;
spécifications [ "USL" ] = dtlim : HAUTE [ chaux ] ;
Colonne ( dtsplitmeas , Carboniser ( cols [ je ] ) ) << définir la propriété ( "limites de spécification" , Eval ( spécifications ) ) ;
controlimits = { XBar ( Moyen ( une ) , LCL ( b ) , UCL ( c ) )} ;
Substitute In ( controlimits , Expr ( une ) , dtlim : LWarn [ chaux ] ) ;
Substitute In ( controlimits , Expr ( c ) , dtlim : uwarn [ chaux ] ) ;
Substitute In ( controlimits , Expr ( b ) , dtlim : targ [ chaux ] ) ;
Colonne ( dtsplitmeas , Carboniser ( cols [ je ] ) ) << définir la propriété ( "limites de contrôle" , Eval ( controlimits ) ) ;
) ;
) ;