CIAO,
Esiste un modo per identificare l'adattamento migliore per un particolare parametro, generare tabelle di analisi delle capacità solo per quell'adattamento del modello e quindi riorganizzare le caselle di visualizzazione solo per l'adattamento migliore in una nuova finestra (nella foto sotto)? Inoltre, posso mantenere le funzioni?
Ecco cosa ho provato: funziona fino a un certo punto....
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
dis = Distribution(
Continuous Distribution(
Column( :NPN1 ),
Quantiles( 0 ),
Vertical( 0 ),
Outlier Box Plot( 1 ),
Fit Normal( Show Fit( 0 ), Process Capability( LSL( 104.41 ), Target( . ), USL( 131.89 ), Show as Graph Reference Lines ) ),
Fit Johnson( Show Fit( 0 ) ),
Fit Cauchy( Show Fit( 0 ) ),
Fit Student's t( Show Fit( 0 ) ),
Fit SHASH( Show Fit( 0 ) ),
Fit Normal 2 Mixture( Show Fit( 0 ) ),
Fit Normal 3 Mixture(
Process Capability( LSL( 104.41 ), Target( . ), USL( 131.89 ), Show as Graph Reference Lines, Show Within Capability( 0 ) )
),
Customize Summary Statistics( Std Err Mean( 0 ), Upper Mean Confidence Interval( 0 ), Lower Mean Confidence Interval( 0 ), N Missing( 0 ) )
)
);
New Window( "",
Show Menu( 0 ),
show toolbars( 0 ),
H List Box(
Panel Box( ,
Report( dis )["NPN1", List Box( 3 )]
),
V List Box(
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Summary Statistics"],
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Fitted Normal 3 Mixture Distribution", "Process Capability", "NPN1(Mixture of 3 Normals) Capability",
"Overall Sigma Capability"],
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Fitted Normal 3 Mixture Distribution", "Process Capability", "NPN1(Mixture of 3 Normals) Capability",
"Nonconformance"]
)
),
Panel Box( ,
Table Box(
Report( dis )["NPN1", "Compare Distributions"]
)
)
);
dis << close window;
Puoi ottenere il "miglior adattamento" inviando il messaggio << Adatta tutto alla distribuzione e ottenendo la prima riga dalla casella della tabella MA questo dovrebbe essere usato solo per analisi esplorative (buona discussione qui Scripting - Come selezionare la distribuzione più adatta e raccogliere i parametri di capacità? ). È quindi possibile raccoglierli nell'array associativo dove la chiave è il nome della colonna e la distribuzione del valore oppure impostarli sulla proprietà della colonna Distribuzione. Infine crea le tue trame finali utilizzando la piattaforma che desideri utilizzare.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
get_best_dist = function({dt, colname}, {Default Local},
dist = dt << Distribution(
Continuous Distribution(
Column(Eval(colname)),
Process Capability(0)
),
Invisible,
Histograms Only
);
dist << Fit All;
scb = Report(dist)[Outline Box("Compare Distributions"), Table Box(1), StringColBox(1)];
bestdist = scb[1];
dist << close window;
return(bestdist);
);
aa_dist = Associative Array();
colrefs = dt << Get Column Group("Processes");
For Each({colref}, colrefs,
Try(
colname = colref << get name;
curdist = get_best_dist(dt, colname);
aa_dist[colname] = curdist;
Eval(EvalExpr(Column(dt, colname) << Set Property("Distribution", Expr(curdist))));
,
show(colref);
);
);