Définir les limites des spécifications pour la macro K sigmaJ'utilise beaucoup la plate-forme "Distribution" avec "Définir les limites de spécifications pour KSigma" pour obtenir des limites de spécifications suggérées pour les données non normales.Le flux de travail est Distribution->attribuer une distribution->capacité de processus dans la sortie de distribution->Définir les limites des spécifications pour K Sigma.Cela peut devenir un long processus lorsque vous avez beaucoup de colonnes.
Idéalement, je serais capable d'attribuer la bonne distribution, puis d'avoir une macro qui parcourrait chaque colonne et produirait la sortie "Définir la limite...".Je vois qu'il existe un exemple de script pour cette fonctionnalité, mais il a une distribution codée en dur et il semble également ne l'appliquer qu'à toutes les colonnes.
Il semble que mon premier obstacle, qui semble idiot, consiste à essayer d'obtenir la distribution attribuée dans la plate-forme de distribution afin de pouvoir en remplacer le codage en dur (LogNormal dans cet exemple) :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
Je pensais utiliser quelque chose comme current report()["Distributions"]<< get scriptable object;
pour pouvoir utiliser le code pour l'analyse de la distribution ouverte, puis je dois comprendre comment parcourir les colonnes de la distribution ouverte.
L'autre option à laquelle je pensais était d'attribuer les distributions en tant que propriété de colonne, d'en tirer parti et d'exécuter un tas d'analyses individuelles, mais je n'ai pas non plus vu de code pour suivre cette voie.
Merci pour toutes les idées !!
Steve
Ingénierie Qualité et ProcédésRe : Définir les limites des spécifications pour la macro K sigmaCela l'a fait, il s'avère qu'une partie du problème était de ma propre faute.Je n'avais pas réalisé que Handle[1] était la première distribution dans l'ordre de la liste (Normal, Cauchy, Lognormal, etc.), et non la première distribution dans la table ordonnée AIC.Ainsi, la macro s'exécuterait et je ne verrais rien car elle avait été appliquée à la distribution Normale et elle était masquée. Si j'ai changé Handle[1] en Handle["best"] alors cela a fonctionné avec la distribution la mieux choisie.
Le code final était simplement celui-ci (même si j'ai beaucoup appris !) Merci encore pour toute l'aide Tonya !
Names Default To Here( 1 );
dt=Current Data Table();
pf=current report()["Distributions"]<< get scriptable object;
pf<<(Fit Handle["best"]<<PROCESS capability=""></PROCESS>
Re : Définir les limites des spécifications pour la macro K sigmaVous mélangez de nouveaux installateurs avec des installateurs existants.Le code doit être complètement différent pour les nouveaux installateurs.Vous trouverez ci-dessous un exemple de code pour les nouveaux installateurs.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt<<DISTRIBUTION></DISTRIBUTION>
Re : Définir les limites des spécifications pour la macro K sigmaMerci d'avoir regardé ça un peu plus Tonya.
Je suis d'accord que le code que vous avez fourni fonctionne, mais il semble fonctionner car vous attribuez d'abord les distributions via la macro.Si je supprime les distributions et les rajoute manuellement, puis que j'essaie simplement d'exécuter les deux dernières lignes de la macro, cela ne fonctionne pas.
Ce que j'ai trouvé intéressant, c'est que les distributions ajustées portaient le nom « Exponentielle ajustée » ou « Distribution exponentielle ajustée » qui apparaît lorsque je l'attribue manuellement.Cela m'a donc fait réfléchir et... je peux le faire fonctionner si j'utilise les ajustements hérités !Donc, si j'active les anciens installateurs, ajuste les distributions manuellement, puis exécute les deux dernières lignes, cela fonctionne parfaitement.
Alors peut-être qu'il faudra modifier le script pour pouvoir fonctionner avec la nouvelle fonctionnalité d'ajustement apparue dans la version 15 ?
Steve
Re : Définir les limites des spécifications pour la macro K sigmaLe code fonctionne bien pour moi si j'ai plus d'une colonne en distribution.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution(
Continuous Distribution(
Column( :CO ),
Fit Distribution(
Exponential
)
),
Continuous Distribution( Column( :POP ), Fit Distribution( Gamma) )
);
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
Re : Définir les limites des spécifications pour la macro K sigmaCela aiderait probablement si j'incluais mon script :
Names Default To Here( 1 );
dt=Current Data Table();
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
Idéalement, j'exécuterais la plate-forme de distribution, sélectionnerais ma distribution pour chaque colonne, puis exécuterais ce script pour définir toutes les limites des spécifications.
Cela fonctionne donc, mais seulement si j'ai une colonne dans l'analyse de distribution.
Steve
Re : Définir les limites des spécifications pour la macro K sigmaCela a fonctionné pour moi avec plusieurs colonnes.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO, :POP ) );
obj << Fit Distribution( exponential ) ;
obj<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
Re : Définir les limites des spécifications pour la macro K sigmaMerci Tonya!
Cela fonctionne vraiment bien.Cependant, cela ne semble fonctionner que si j'ai une colonne dans l'analyse de distribution.Dois-je modifier quelque chose pour que cela fonctionne lorsque j'ai plusieurs colonnes dans l'analyse ?Si j'en ai plusieurs, cela ne fonctionne pas ; aucune erreur mais rien ne se passe non plus.
Le script de l'exemple de bibliothèque s'exécutera avec plusieurs colonnes (bien qu'il s'agisse d'un choix de distribution codé en dur).
Steve
Re : Définir les limites des spécifications pour la macro K sigmaSi vous n'avez qu'un seul ajustement par réponse, vous pouvez utiliser ce qui suit :
obj<<(Fit Handle[1]<<( Définir les limites de spécifications pour KSigma( 3 ) ) );
Re : Définir les limites des spécifications pour la macro K sigma"Afficher l'arborescence" Peut vous aider à déterminer la position appropriée dans le rapport.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
obj << show tree structure;