Imposta i limiti delle specifiche per la macro K sigmaUtilizzo molto la piattaforma "Distribuzione" insieme a "Imposta limiti di specifica per KSigma" per ottenere limiti di specifica suggeriti per dati non normali.Il flusso di lavoro è Distribuzione->assegna una distribuzione->capacità di processo nell'output della distribuzione->Imposta limiti delle specifiche per K Sigma.Questo può diventare un processo lungo quando hai molte colonne.
Idealmente sarei in grado di assegnare la giusta distribuzione e quindi avere una macro che esegua il loop su ciascuna colonna e crei l'output "Imposta limite...".Vedo che esiste uno script di esempio per questa funzionalità ma ha una distribuzione codificata e sembra anche applicarlo solo a tutte le colonne.
Sembra che il mio primo ostacolo, che sembra sciocco, sia cercare di ottenere la distribuzione assegnata dalla piattaforma di distribuzione in modo da poterne sostituire l'hard coding (LogNormal in questo esempio):
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 ) ) );
Stavo pensando di usare qualcosa come current report()["Distributions"]<< get scriptable object;
per poter utilizzare il codice per l'analisi della distribuzione aperta e poi devo capire come scorrere le colonne nella distribuzione aperta.
L'altra opzione a cui stavo pensando era assegnare le distribuzioni come proprietà di colonna e attingere da quella ed eseguire una serie di analisi individuali, ma non vedevo nemmeno il codice per seguire quella strada.
Grazie per tutte le idee!!
Steve
Ingegneria della qualità e dei processiRi: Impostare i limiti delle specifiche per la macro K sigmaCosì è stato, si scopre che parte del problema è stato causato da me.Non mi ero reso conto che Handle[1] fosse la prima distribuzione nell'ordine dell'elenco (Normal, Cauchy, Lognormal, ecc.), non la prima distribuzione nella tabella ordinata AIC.Quindi la macro veniva eseguita e non vedevo nulla perché era stata applicata alla distribuzione Normale ed era nascosta. Se ho cambiato Handle[1] in Handle["best"], ha funzionato con la distribuzione scelta migliore.
Il codice finale era semplicemente questo (anche se ho imparato molto!) Grazie ancora per tutto l'aiuto Tonya!
Names Default To Here( 1 );
dt=Current Data Table();
pf=current report()["Distributions"]<< get scriptable object;
pf<<(Fit Handle["best"]<<PROCESS capability=""></PROCESS>
Ri: Impostare i limiti delle specifiche per la macro K sigmaStai mescolando nuovi installatori con installatori legacy.Il codice dovrà essere completamente diverso per i nuovi installatori.Di seguito è riportato un esempio di codice per i nuovi installatori.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt<<DISTRIBUTION></DISTRIBUTION>
Ri: Impostare i limiti delle specifiche per la macro K sigmaGrazie per averlo guardato ancora un po', Tonya.
Sono d'accordo che il codice che hai fornito funzioni, ma sembra funzionare perché stai prima assegnando le distribuzioni tramite la macro.Se rimuovo le distribuzioni e le aggiungo nuovamente manualmente e poi provo ad eseguire le ultime due righe della macro, non funziona.
Ciò che ho trovato interessante è che le distribuzioni adattate avevano il nome "Fitted Exponential" vs "Fitted Exponential Distribution" che appare quando lo assegno manualmente.Quindi mi ha fatto riflettere e....posso farlo funzionare se utilizzo gli adattamenti legacy!Quindi, se abilito gli installatori legacy, adatto manualmente le distribuzioni e quindi eseguo le ultime due righe, funziona perfettamente.
Quindi forse è necessaria una modifica allo script per poter lavorare con la nuova funzionalità di adattamento apparsa in 15?
Steve
Ri: Impostare i limiti delle specifiche per la macro K sigmaIl codice funziona bene per me se ho più di 1 colonna nella distribuzione.
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 ) ) );
Ri: Impostare i limiti delle specifiche per la macro K sigmaProbabilmente sarebbe d'aiuto se includessi il mio 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 ) ) );
Idealmente eseguirei la piattaforma di distribuzione, selezionerei la mia distribuzione per ciascuna colonna, quindi eseguirei questo script per impostare tutti i limiti delle specifiche.
Quindi funziona, ma solo se ho una colonna nell'analisi della distribuzione.
Steve
Ri: Impostare i limiti delle specifiche per la macro K sigmaHa funzionato per me con più colonne.
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 ) ) );
Ri: Impostare i limiti delle specifiche per la macro K sigmaGrazie Tonya!
Funziona davvero bene.Tuttavia, sembra funzionare solo se ho una colonna nell'analisi della distribuzione.C'è qualcosa che devo cambiare affinché funzioni quando ho più colonne nell'analisi?Se ne ho più di uno non funziona; nessun errore ma non succede nulla.
Lo script della libreria di esempio verrà eseguito con più colonne (sebbene si tratti di una scelta di distribuzione hardcoded).
Steve
Ri: Impostare i limiti delle specifiche per la macro K sigmaSe hai solo un adattamento per risposta, puoi utilizzare quanto segue:
obj<<(Fit Handle[1]<<( Imposta i limiti delle specifiche per KSigma( 3 ) ) );
Ri: Impostare i limiti delle specifiche per la macro K sigma"Mostra struttura ad albero" Può aiutarti a indirizzare la posizione corretta nel rapporto.
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;