Limiti di controllo criptati da un file di riferimentoIl mio script funzionava bene prima di aggiungere una nuova fase con limiti aggiornati al file dei limiti di controllo. Ora i limiti sono strapazzati. Ho quadruplo controllato il file dei limiti di controllo per accertarmi che siano nell'ordine corretto. Qualche idea su cosa potrebbe causare il disguido? Sto riscontrando lo stesso problema su più schede prodotto. Ho provato ad assegnare Order Ordering e attivare i livelli di ordine delle righe, né ho funzionato.
dt_limits = Open( "R:\Research\PS5\Control_Limits\PMC013\PMC013 Metrology CLs Review.jmp" );
dt_limits << Sort( By( :Quarter ), Order( Ascending ), Replace Table );
dt = Open( "R:\Research\PS5\Control_Limits\JMP SPC files\PMC013 SPC Charts.jmp" );
Nell'immagine allegata, i limiti per la fase "4 2015" appartengono alla fase "3 2018"

Ri: Limiti di controllo criptati da un file di riferimentoHo provato entrambe le soluzioni. La seconda soluzione ha creato un grafico con limiti creati da JMP invece di utilizzare il file dei limiti. La designazione riassuntiva non ha fatto una differenza notevole.
Ho "risolto" questo problema in altri grafici assegnando / rimuovendo ordini di ordine e / o livelli di ordini di riga, ma questo rimane ancora criptato.
Andando linea per linea, i limiti vengono applicati nell'ordine: 1, 1 2016, 2 2015, 2 2017 e così via.
Ri: Limiti di controllo criptati da un file di riferimentoIl tuo codice sembra buono. Se una metrologia [i] ha uno o più quarti mancanti, il ciclo di conteggio per j potrebbe essere disattivato.
Hai usato il debugger?
Le uniche modifiche che potrei fare è specificare la tabella x per il riepilogo
summarize( yTables[i], phaselevels=By(:Quarter) )
Inoltre, invece di contare i phaselimits in "For j-loop", potrei usare il codice per abbinare i limiti,
dt_limits << Sort( By( :Quarter, :_LimitsKey ), Order( Ascending, Ascending ), Replace Table );
//other code not shown
For( j = 1, j <= N Items( phaseLevels ), j++,
km = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_Mean");
kl = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_LCL");
ku = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_UCL");
ks = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_Std Dev");
Insert Into(
imExpr,
Eval Expr(
Phase Level(
Expr( phaseLevels[j] ),
Sigma( Expr( sigma[ks] ) ),
Avg( Expr( avg[km] ) ),
LCL( Expr( lcl[kl] ) ),
UCL( Expr( ucl[ku] ) )
)
)
)
);Spero che sia d'aiuto.
Ri: Limiti di controllo criptati da un file di riferimentoEcco lo script completo meno il segno di riga all'inizio:
dt_limits = Open( "R:\Research\PS5\Control_Limits\PMC013\PMC013 Metrology CLs Review.jmp" );
dt_limits << Sort( By( :Quarter ), Order( Ascending ), Replace Table );
dt = Open( "R:\Research\PS5\Control_Limits\JMP SPC files\PMC013 SPC Charts.jmp" );
Metrology = dt_limits << get column names( numeric, continuous, string );
yTables = {};
rpt = New Window( "SPC",
<<ONCLOSE></ONCLOSE>
I campioni sono etichettati per numero di lotto. L'intera tabella viene ordinata in ordine crescente per trimestre e quindi numero lotto prima dell'esecuzione dello script precedente. Ho allegato un'immagine del file dei limiti di controllo.

Le uniche opzioni di ordinamento che ho sono ascendenti e discendenti, a meno che non manchi qualcosa.
Ri: Limiti di controllo criptati da un file di riferimentoStai usando una variabile per l'etichetta di esempio? Che cos'è? Il criterio di ordinamento (Trimestre) ha l'aspetto di Anno Trimestre, che non è cronologico ma alfabetico. È questo l'ordine che volevi?
Spiacente senza una vista del file dei limiti ordinati e dello script (salva lo script dalla tabella di controllo), tutto quello che posso fare è speculare.