Script JSL per la creazione di grafici multipli per Y vs X per A con una tabella dei limiti per creare grafici di controlloHo una tabella JMP con diciamo 5 colonne
ColA è una colonna categorica. ColA può avere diversi gruppi di valori. Tuttavia, per ogni gruppo di valori di ColA LCL e UCL sono gli stessi, intendo in questo modo: (diciamo)
Campione di dati con solo 2 gruppi da Col A
Col A LCL UCL Y X
un 5 10 9 PQR1
a 5 10 11 PQR2
b 17 25 12 ABC1
b 17 25 14 ABC1
b 17 25 19 ABC1
Quindi voglio tracciare Y vs X ( trama a riquadri diciamo in questo caso) di Col A . Quindi questo dovrebbe generare due trame (una per a e l'altra per b). Tuttavia voglio creare uno script JSL per creare i due diversi grafici di controllo per ogni trama. Per il caso a ( 5,10) e per il caso b ( 17, 25).
So che questo è semplice in JMP. Ma nel mio caso sto generando dati al volo e non saprò quanti gruppi e quali sono LCL/UCL. Quindi è necessario disporre di uno script per farlo. Cercando di capire come risolvere questo problema usando JSL.
Ri: Script JSL per la creazione di grafici multipli per Y vs X di A con una tabella dei limiti per creare ch di controlloMeraviglioso!! Ha funzionato come un fascino!!! GrazieRi: Script JSL per la creazione di grafici multipli per Y vs X di A con una tabella dei limiti per creare ch di controlloLa sintassi Aggiungi linea di riferimento non è corretta.O deve essere racchiuso nella definizione della piattaforma Oneway come una struttura "Send to Report", o aggiunto dopo il fatto, inviando un messaggio Add Ref Line all'AxisBox Reports, come ho mostrato di seguito
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( groupid = by( :Col A ) );
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
For( i = 1, i <= N Items( groupid ), i++,
idname = Char( groupid[i] );
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname )
);
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_u[idname], "Dashed", "Black", "UCL", 1 );
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_l[idname], "Dashed", "Black", "LCL", 1 );
);
Ri: Script JSL per la creazione di grafici multipli per Y vs X di A con una tabella dei limiti per creare ch di controlloGrazie Jim...
Bene, traccerò sempre il mio Y vs X in base alla colonna raggruppata (in questo caso Col A dice) ...
Non avevo ancora intenzione di utilizzare alcuna piattaforma.
Il modo in cui stavo prendendo di mira il problema è creare un array associativo basato sul gruppo e quindi creare un ciclo. Ma anche questo non funziona. Ho incollato lo snippet del codice qui sotto.
dt = Current Data Table();
summarize(groupid=by(:Col A));
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
for(i=1, i<= N Items(groupid), i++,
idname = char(groupid[i]);
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname ),
Add Ref Line(map_u[idname] , "Dashed", "Black", "UCL", 1 ),
Add Ref Line(map_l[idname] , "Dashed", "Black", "LCL", 1 )
)
)
Ri: Script JSL per la creazione di grafici multipli per Y vs X di A con una tabella dei limiti per creare ch di controlloEsistono diversi limiti di controllo per i diversi grafici e ognuno di essi deve essere impostato all'interno della colonna affinché abbiano effetto sul grafico. Utilizzerai sempre un tipo specifico di grafico o avresti bisogno di impostare i limiti dal tuo tavolo a ciascuno dei tipi di limite (XBar, Individual...…)? Utilizzerai la piattaforma Control Chat Builder o la piattaforma Control Chart?