Salut,
Existe-t-il un moyen JSL d'identifier le meilleur ajustement pour un paramètre particulier, de générer des tableaux d'analyse de capacité uniquement pour cet ajustement de modèle, puis de réorganiser les zones d'affichage uniquement pour le meilleur ajustement dans une nouvelle fenêtre (photo ci-dessous) ? Puis-je également conserver les fonctions ?
Voici ce que j'ai essayé : cela fonctionne dans une certaine mesure....
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;
Vous pouvez obtenir le "meilleur ajustement" en envoyant le message << Fit All à la distribution et en obtenant la première ligne de la zone de tableau MAIS cela doit être utilisé uniquement à des fins d'analyse exploratoire (bonne discussion ici Scripting - Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ? ). Vous pouvez ensuite les collecter dans un tableau associatif où la clé est le nom de la colonne et la distribution des valeurs, ou les définir sur la propriété de la colonne de distribution. Créez enfin vos tracés finaux en utilisant la plateforme que vous souhaitez utiliser.
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);
);
);