Comment obtenir des limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?L'exemple de script ci-dessous me permet d'obtenir le résumé à 5 chiffres au format dont j'ai besoin. Cependant, je souhaiterais également obtenir les limites de spécification pour chaque paramètre (sous Colonnes d'analyse), LSL et USL, dans deux colonnes distinctes dans le tableau de données final « Résumé » ? Comment obtenir cela via JSL ?
De plus, existe-t-il une autre/meilleure façon de faire ce dont j'ai besoin sans utiliser Tabulate() ?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
Automatisation et scriptsFenêtresRé : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?Vous pouvez utiliser le système de gestion des limites pour faire ce que vous voulez
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(
Process Variables ( eval(procCols) )
);
obj << Save to Tall Limits Table;
dtLimits = current data table();
obj << close window;
try( window("Consistency Problem") << close window );
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);

Ré : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?@txnelson Merci. J'obtiens une erreur dans mon JMP 16.2

Ré : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?Cela peut être suffisant si vous utilisez des variables au lieu de vous fier à la table de données actuelle. Au moins dans JMP17.2, tabulate << make into data table et << save tall boundaries table return reference to the table
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Statistics(Min)),
Column Table(Statistics(Mean, Median)),
Column Table(Statistics(Max)),
Column Table(Statistics(Std Dev)),
Row Table(
Grouping Columns(:lot_id, :wafer, :Wafer ID in lot ID),
Analysis Columns(
Eval(col_names)
)
)
)
);
dttab = tab << Make Into Data Table;
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(Process Variables(Eval(procCols)));
dtlimits = obj << Save to Tall Limits Table;
obj << close window;
Try(Window("Consistency Problem") << close window);
dtTab << Update(
with(dtLimits),
Match Columns(:Analysis Columns = :Variable),
Add Columns from Update Table(:LSL, :Target, :USL)
);Ré : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?@jthi Obtenez cette erreur sur JMP 16.2
Object 'Data Table' does not recognize the message 'Manage Limits'; <BR />perhaps you mean one of these: <<MANAGE spec="" limits=""><<ITEM analysis=""><<FACTOR><<COMBINE columns...=""><<MAKE indicator=""><<NEW><<PASTE columns=""><<MARKERS><<SELECT matching="" cells=""><<GET rows=""><<MAXIMIZE display=""><<MOVE scripts=""><<RENAME table="" script=""><<MATCHED pairs=""><<MULTIVARIATE><<NORMAL mixtures=""><<CAPABILITY><<PARALLEL plot.="" there="" is="" no="" other="" opened="" data="https://community.jmp.com/" to="" update="" the="" current="" table.="" empty=""></PARALLEL></CAPABILITY></NORMAL></MULTIVARIATE></MATCHED></RENAME></MOVE></MAXIMIZE></GET></SELECT></MARKERS></PASTE></NEW></MAKE></COMBINE></FACTOR></ITEM></MANAGE>
Changing Manage Limits () to Manage Spec Limits () gives me another error.
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo_0-1726217735617.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><span class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><img src="https://us.v-cdn.net/6038925/uploads/images/68217i191CDFCAD2681B08/Neo_0-1726217735617.png" role="button" title="Neo_0-1726217735617.png" alt="Neo_0-1726217735617.png" /></span></SPAN></SPAN></SPAN>
Ré : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?Peut-être que cela ne fonctionne pas dans JMP16.2. Vous devez effectuer différents types de vérifications pour les tables. Si je me souviens bien, Get Data Table List() est une option assez robuste et la dernière table est toujours la première
Ré : Comment obtenir les limites de spécifications dans des colonnes séparées dans un tableau récapitulatif en 5 points ?J'ai modifié le code pour éliminer la section Gérer les limites et la remplacer par un simple morceau de JSL qui crée une table de limites en lisant les limites de la table d'origine. Voyez si cela fonctionne
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
// Create a limits table
dtLimits = new table("Limits",
new column("Variable", character),
new column("LSL"),
New column("Target"),
New column("USL")
);
For Each({col}, procCols,
specs = column(dt, col) << get property("Spec Limits");
if(isList(specs),
dtLimits << add rows(1);
dtLimits:Variable[nrows(dtLimits)] = col;
dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
dtLimits:Target[nrows(dtLimits)] = specs["Target"];
dtLimits:USL[nrows(dtLimits)] = specs["USL"];
)
);
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);