Script JSL pour créer plusieurs tracés pour Y vs X par A avec un tableau des limites pour créer des cartes de contrôleJ'ai une table JMP avec disons 5 colonnes
ColA est une colonne catégorielle. ColA peut avoir différents groupes de valeurs. Cependant, pour chaque groupe de valeurs de ColA, LCL et UCL sont identiques, je veux dire comme ceci : (par exemple)
Exemple de données avec seulement 2 groupes de Col A
Col A LCL UCL Y X
a 5 10 9 PQR1
a 5 10 11 PQR2
b 17 25 12 ABC1
b 17 25 14 ABC1
b 17 25 19 ABC1
Donc, je veux tracer Y vs X (boîte à moustaches dans ce cas) par Col A . Cela devrait donc générer deux parcelles (une pour a et l'autre pour b). Cependant, je souhaite créer un script JSL pour créer les deux cartes de contrôle différentes pour chaque parcelle. Pour le cas a ( 5,10) et pour le cas b ( 17, 25).
Je sais que c'est simple dans JMP. Mais dans mon cas, je génère des données à la volée et je ne saurai pas combien de groupes et quels sont les LCL/UCL. Donc besoin d'avoir un script pour accomplir cela. Essayer de comprendre comment résoudre ce problème en utilisant JSL.
Re : Script JSL pour créer plusieurs tracés pour Y vs X par A avec un tableau des limites pour créer un contrôle chMerveilleux!! A fonctionné comme un charme !!! MerciRe : Script JSL pour créer plusieurs tracés pour Y vs X par A avec un tableau des limites pour créer un contrôle chVotre syntaxe Ajouter une ligne de référence est incorrecte.Il doit soit être inclus dans la définition de la plate-forme Oneway en tant que structure "Envoyer au rapport", soit ajouté après coup, en envoyant un message Ajouter une ligne de référence à l'AxisBox des rapports, comme je l'ai montré ci-dessous
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( groupid = by( :Col A ) );
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
For( i = 1, i <= N Items( groupid ), i++,
idname = Char( groupid[i] );
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname )
);
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_u[idname], "Dashed", "Black", "UCL", 1 );
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_l[idname], "Dashed", "Black", "LCL", 1 );
);
Re : Script JSL pour créer plusieurs tracés pour Y vs X par A avec un tableau des limites pour créer un contrôle chMerci Jim...
Eh bien, je tracerai toujours mon Y vs X en fonction de la colonne groupée (dans ce cas, Col A, par exemple) ...
Je n'envisageais pas encore d'utiliser une plate-forme.
La façon dont je ciblais le problème est de créer un tableau associatif basé sur le groupe, puis de créer une boucle. Mais cela ne fonctionne pas non plus. J'ai collé l'extrait de code ci-dessous.
dt = Current Data Table();
summarize(groupid=by(:Col A));
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
for(i=1, i<= N Items(groupid), i++,
idname = char(groupid[i]);
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname ),
Add Ref Line(map_u[idname] , "Dashed", "Black", "UCL", 1 ),
Add Ref Line(map_l[idname] , "Dashed", "Black", "LCL", 1 )
)
)
Re : Script JSL pour créer plusieurs tracés pour Y vs X par A avec un tableau des limites pour créer un contrôle chIl existe différentes limites de contrôle pour les différents graphiques, et elles doivent chacune être définies dans la colonne pour qu'elles prennent effet sur le graphique. Utiliserez-vous toujours un type de graphique spécifique, ou auriez-vous besoin de définir les limites de votre table à chacun des types de limites (XBar, Individuel...) ? Utiliserez-vous la plateforme Control Chat Builder ou la plateforme Control Chart ?