Calculer le Cpk pour les 50 derniers résultatsBonjour, existe-t-il un moyen simple de calculer le Cpk pour un nombre sélectionné de lignes les plus récentes en utilisant des scripts. Je regarde la capacité de la machine et bien que le Cpk global soit une mesure très utile pour identifier la capacité globale du processus, une fois que des améliorations ont été apportées au processus de fabrication, je souhaite un moyen de suivre facilement si le processus s'améliore en ne regardant que le Cpk pour les 50 derniers résultats. J'ai actuellement un script qui calcule automatiquement le Cpk et d'autres mesures en effectuant le « filtrage du processus » et en l'enregistrant dans un tableau récapitulatif. Si possible, je souhaite pouvoir avoir le Cpk global et le Cpk des 50 derniers composants dans 2 colonnes côte à côte dans le même tableau de données. Merci d'avance !
Ingénierie de la qualité et des procédésRe : Calculer le Cpk pour les 50 derniers résultatsVoici la solution.....
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
cNames = dt << Get Column Names(Numeric, "Continuous");
// shorten list for illustration purposes
remove from( cNames, 3, 128);
dt << select where( Row() < N Rows( dt ) - 50 );
dt << hide and exclude;
ps = dt << Process Screening( Y( eval(cNames) ), Control Chart Type( "Indiv and MR" ) );
newdt = ps << get data table;
dt << clear rowstates;
Vos expériences avec JSL seront grandement améliorées si vous prenez le temps de lire le Guide de script.
Re : Calculer le Cpk pour les 50 derniers résultatsMerci ça marche super bien !
J'ai environ 50 colonnes de données pour lesquelles je calcule les valeurs Cpk et je me demande s'il existe un moyen simple de sélectionner ces colonnes sans avoir à coder en dur les noms de colonne lors du calcul du filtrage de processus comme vous l'avez fait dans le exemple avec NPN1 et PNP1. Je veux faire quelque chose comme ce qui suit pour obtenir les noms de colonne, mais cela ne fonctionne pas dans son état actuel :
cNames = dt << Get Column Names( Numeric, "Continuous" );
scr = dt << Process Screening( Y( cNames ), Control Chart Type( "Indiv and MR" ) );
Re : Calculer le Cpk pour les 50 derniers résultatsVoici un script simple qui peut être utilisé pour obtenir le Cp/Cpk pour les 50 dernières lignes de votre table de données.Il génère le même tableau que celui généré par votre Process Screening, mais cette fois, avec seulement les 2 variables que vous voulez, et juste pour les 50 dernières lignes de données.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
dt << select where( Row() < N Rows( dt ) - 50 );
dt << hide and exclude;
ps = dt << Process Screening( Y( :NPN1, :PNP1 ), Control Chart Type( "Indiv and MR" ) );
newdt = ps << get data table;
dt << clear rowstates;