limites SPEC automatiques en var. graphiquessalut
J'ai créé un script qui génère un graphique de variabilité qui s'affiche dans l'axe Y: NewValue et dans l'axe X: ENTITY.
le graphique de variabilité est filtré par ATTRIBUTE_NAME, donc j'obtiens de nombreux graphiques, chacun pour chaque nom d'attribut.
Je veux que le script ajoute les limites SPEC pertinentes d'une table de données supplémentaire (appelée: "Limites SPEC Gaz") à de nouvelles colonnes et génère un graphique de variabilité pour chaque nom d'attribut avec ses valeurs SPEC spécifiques.
n'a pas pu comprendre comment le faire, veuillez aider!
attaché ici est mon script échoué jusqu'à présent pour générer manuellement USL pour 3 attributs différents:
dt = table de données actuelle ();
dt << Nouvelle colonne ("USL",
Numeric,
Continu,
Formule (If (: ATTRIBUTE_NAME == "Gas07TactrasFlowCheckF2", 65,
Si (: ATTRIBUTE_NAME == "Gas08TactrasFlowCheckF2", 70,
Si (: ATTRIBUTE_NAME == "Gas04TactrasFlowCheckF2", 15, 10)
)))
);
varch = dt << Tableau de variabilité (
Y (: NewValue),
X (: ENTITY),
Par (: ATTRIBUTE_NAME),
Afficher les barres de plage (0),
Afficher les moyennes des cellules (0),
Connecter les moyens cellulaires (0),
Afficher les séparateurs (0),
Graphique de développement standard (0),
Points nerveux (1),
Étiquettes AIAG (0),
NOM D'ATTRIBUT
SendToReport (
Envoi(
{},
"1",
ScaleBox,
{Ajouter une ligne de référence (__Upper__, "Solid", "Black", "gfgfd", 1)}
),
Envoi(
{},
"Oneway Plot",
FrameBox,
)
)
);
Pour (i = 1, i <= N lignes (dt), i ++,
report (varch) [axisbox (1)] << Add Ref Line (dt: LSL [i], "Solid", "Dark Green", "Target", 1);
report (varch) [axisbox (1)] << Add Ref Line (dt: USL [i], "Solid", "Dark Green", "", 1);
);
Re: limites SPEC automatiques en var. graphiquesIl y a 2 problèmes avec votre script
- Le graphique de variabilité ne génère pas 1 structure de rapport pour sa sortie, mais génère plutôt une structure de rapport pour chaque groupe By. Par conséquent, en spécifiant
Report( varch )[AxisBox(1)]
est une référence incorrecte, il doit spécifier laquelle des structures de rapport vous voulez référencer, comme pour le " Gas07TactrasFlowCheckF2 "qui est alphabétiquement le premier par groupe, la référence serait
Report( varch[1] )[AxisBox(1)]
- Votre boucle For () va créer un ensemble de lignes de référence pour chacune des lignes de votre table de données. Je suppose que vous pouvez avoir des centaines de lignes dans votre tableau de données et que vous écrirez les mêmes lignes encore et encore. Ce que vous devez faire, c'est créer un tableau récapitulatif avec une seule ligne pour chaque VarChart que vous allez créer, puis parcourir ce tableau et appliquer les valeurs au graphique de variabilité approprié.
J'ai joint un exemple qui illustre comment vous pourriez vouloir faire votre script
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);Re: limites SPEC automatiques en var. graphiquesMerci pour votre réponse!
afin de faire avancer mon script encore plus - je voudrais joindre ma table actuelle (avec les données que je suis prêt à analyser) avec une autre table de données (limites SPEC) qui est constante et ne change jamais.
Le tableau de données des limites SPEC contient les colonnes suivantes: "Gas__TactrasFlowCheckF_", "LSL", "TARGET", "USL".
la première colonne "_" représente les options pour 1 à 14 gaz différents avec 4 types de réglage de débit pour chaque gaz.
La jonction des données à une table faciliterait la consignation de chaque limite de spécification pour chaque type de gaz.
Les 2 tables de données partagent seulement 1 colonne "Gas__TactrasFlowCheckF" et je veux que le script ajoute 3 limites SPEC à ma table actuelle - pour chaque ligne.
Après avoir rejoint la table de données, j'utiliserais le script dans la première réponse pour générer var. graphiques pour chaque flux de gaz avec ses paramètres spécifiques.
Une deuxième chose que je voudrais faire est l'intrigue bivariée:
dans l'axe X, je placerais "Time", et pour l'axe Y: "Value". je générerais un tracé pour chaque paramètre de débit.
j'ai eu du mal à ajouter une ligne de référence ("LSL", "TARGET", "USL") à chaque tracé.
J'apprécierais beaucoup votre aide!
Merci