Comment modifier l'axe des x de la carte de contrôle dans le criblage de processusÀ l’aide du filtrage des processus, j’obtiens rapidement le graphique de performances des processus, donnant la matrice 2x2 stable / instable et conforme / non conforme pour déterminer où concentrer mon attention pour les efforts d’amélioration. C'est vraiment utile.
Un exemple est joint.
Étant donné que les 12 caractéristiques en pièce jointe ont des nombres de données différents, je vois que les cartes de contrôle créées par défaut ont toujours des axes x qui s'étendent sur la longueur du nombre de lignes de la table.
En pièce jointe par exemple Caractéristique Sept contient 583 données mais Caractéristique Neuf seulement 79 données.
La création de la carte de contrôle pour Characteristic Nine a un axe des abscisses convertissant les données 583 par défaut. Cette présentation n’est pas idéale car la première chose que je fais est de changer l’axe des x, mais cela prend beaucoup de temps pour de nombreux graphiques.
Quelqu'un peut-il m'expliquer comment j'utilise les scripts, ou une autre option, pour que les axes x soient automatiquement configurés pour refléter le nombre de données qui se trouvent réellement derrière chaque caractéristique de chaque colonne? Il serait bon de savoir comment procéder pour que les images créées afin d’obtenir un meilleur aperçu des données soient aussi informatives que possible le plus rapidement possible.
Je viens de cocher la case et la question s’applique également à Control Chart Builder, c’est-à-dire quelle opération effectuer sur les colonnes de sorte que chaque axe x soit redimensionné en fonction du nombre de lignes contenant des données réelles.
Objet: Comment modifier l'axe des x de la carte de contrôle dans le criblage de processusBonjour,
Je pensais poster ceci au cas où quelqu'un le trouverait utile. Une autre solution consiste à créer une nouvelle table de données avec les processus empilés et les valeurs manquantes supprimées de la table empilée. Ensuite, vous pouvez utiliser la colonne Regroupement dans Process Screening pour diviser la table en processus distincts. (Notez que vous devrez également créer une table de limites de spécification pour utiliser cette méthode si vous souhaitez effectuer les calculs de fonctionnalité, car les propriétés de la colonne disparaîtront dans la table empilée. ) La JSL suivante montre comment procéder:
dt = Data Table("Process Screening Example");
dtStack = dt << Stack(
columns(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked Process Screening Example" )
);
dtStack << select where (isMissing(:Data));
dtStack << delete rows;
obj = dt<< Manage Spec Limits(
Y(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
)
);
dtLimits = obj << Save to Tall Spec Limits Table;
obj2 = dtStack << Process Screening(
Y( :Data ),
Grouping( :Label ),
Control Chart Type( "Indiv and MR" ),
Use Limits Table(
1,
dtLimits,
Grouping( :Variable ),
LSL( :LSL ),
USL( :USL ),
Target( :Target ),
Go
)
);
obj2 << select all;
obj2 << control charts for selected items;
Si vous voulez simplement faire la même chose avec Control Chart Builder sans lancer d'abord le filtrage de processus, vous pouvez utiliser le JSL suivant:
dt = Data Table("Process Screening Example");
dtStack = dt << Stack(
columns(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked Process Screening Example" )
);
dtStack << select where (isMissing(:Data));
dtStack << delete rows;
obj = dtStack << Control Chart Builder( Variables( Y( :Data )), By( :Label ) );
Objet: Comment modifier l'axe des x de la carte de contrôle dans le criblage de processusJe vous remercie!
Objet: Comment modifier l'axe des x de la carte de contrôle dans le criblage de processusJe ne suis pas au courant d'une propriété de colonne qui résoudrait ce problème, mais cela peut être fait avec JSL.
Voici un exemple de script qui parcourt chaque carte de contrôle et adapte l’axe des x au nombre d’observations.
dt = Data Table("Process Screening Example");
dt << Process Screening(
Y(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Control Chart Type("Indiv and MR"),
Process Performance Graph(1),
Test 2(1),
Ppk Capability Boundary(1),
Stability Ratio Boundary(1.2),
Select All,
Control Charts for Selected Items,
SendToReport(Dispatch({"Process Performance Graph"}, "ProcessScreening Graph", FrameBox, {Frame Size(553, 424)}))
);
//get list of Control Chart top Outline Boxes
obs = Current Report() << topparent << xpath("//ListBox/OutlineBox");
// Set x-axis max after each N (retrieved from the "Porcess Summary" boxes)
For(i = 1, i <= N Items(obs), i++,
psum = obs[i][Outline Box("Process Summary")];
nloc = Loc((psum << xpath("//StringColBox"))[1] << get, "N")[1]; // locate row of "N"
n = (psum << xpath("//NumberColBox"))[1][nloc]; // get "N"
(obs[i] << xpath("//AxisBox"))[1] << Max(n + 0.5); // set max
);