Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?Lo script di esempio qui sotto mi fornisce il riepilogo di 5 numeri nel formato di cui ho bisogno. Tuttavia, vorrei anche ottenere i limiti delle specifiche per ciascun parametro (in Analysis Columns), LSL e USL, in due colonne separate nella tabella dati finale "Summary"? Come ottenerlo tramite JSL?
Inoltre, esiste un modo migliore/un altro per fare ciò di cui ho bisogno senza usare 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;
Automazione e scriptingFinestreR: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?Puoi usare il sistema Gestisci limiti per fare ciò che vuoi
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: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?@txnelson Grazie. Ricevo un errore nel mio JMP 16.2

R: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?Potrebbe essere sufficiente se si utilizzano variabili invece di basarsi sulla tabella dati corrente. Almeno in JMP17.2 sia tabulate << make into data table che << save tall limits table restituiscono un riferimento alla tabella
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: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?@jthi Ho ricevuto questo errore su 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: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?Forse questo non funziona in JMP16.2. Devi eseguire diversi tipi di controlli per le tabelle. Se ricordo bene Get Data Table List() è un'opzione abbastanza robusta e la tabella più recente è sempre la prima
R: Come ottenere i limiti delle specifiche in colonne separate nella tabella riepilogativa a 5 punti?Ho modificato il codice per eliminare la sezione Manage Limits e trasformarla in un semplice pezzo di JSL che crea una tabella dei limiti leggendo i limiti dalla tabella originale. Vedi se funziona
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)
);