Définir les limites de spécification pour la macro K sigmaJ'utilise beaucoup la plate-forme "Distribution" avec "Set Spec Limits for KSigma" pour obtenir les limites de spec 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 de spécification 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 ferait une boucle dans chaque colonne et ferait la sortie "Set Limit ...". 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 à partir de la plate-forme de distribution afin que je puisse 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'assigner les distributions en tant que propriété de colonne et de tirer parti de cela 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
ScriptingRe: Définir les limites des spécifications pour la macro K sigma"Afficher l'arborescence" Peut vous aider à aborder la bonne position 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;
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 les éléments suivants:
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 plus d'un, ça ne marche pas; aucune erreur mais aussi rien ne se passe.
Le script de la bibliothèque d'exemples 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 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 de spécification 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 de spécifications.
Donc, cela fonctionne, mais seulement si j'ai une colonne dans l'analyse de distribution.
Steve