diversi limiti di specifica su un grafico di variabilitàCiao,
Sto creando un grafico di variabilità separato per OVL_UDL e PARAMETER_NAME con quattro variabili X. Lo faccio tramite script con un ciclo for. Voglio essere in grado di mostrare il valore spec sui grafici il cui valore è contenuto nella stessa tabella dati. Tuttavia, ho limiti diversi all'interno di ogni grafico (per variabile Loop) e anche tra grafico e grafico (per OVL_UDL e PARAMETER_NAME). Ho esaminato il forum ma non sono riuscito a trovare un modo per farlo tramite JSL.
overunder = Associative Array( dt:OVL_UDL << Get Values ) << Get Keys;
For( i = 1, i <= N Items( overunder ), i++,
win = New Window( "window",
var = dt2 << Variability Chart(
Y( :VALUE ),
X( :ROUTE, :OPERATION, :PRODUCT, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
AIAG Labels( 0 ),
Where( :OVL_UDL == overunder[i] ),
By( :PARAMETER, :OVL_UDL ),
SendToReport(
Dispatch(
{"Variability Chart for VALUE"},
"Variability Chart",
FrameBox,
{Row Legend(
:Current Layer Scanner,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
), Row Legend(
ALT,
Color( 0 ),
Color Theme( "" ),
Marker( 1 ),
Marker Theme( "Solid" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
)
);
win << save picture;

Automazione e scriptingPersonalizzazione di massaRi: diversi limiti di specifica su un grafico di variabilitàGrazie. In qualche modo quando itera attraverso OVL_UDL, mantiene solo i limiti corretti sull'ultimo grafico. Sto pensando se posso scrivere lo script per dividere la tabella in più tabelle (una per eqach OVL_UDL) ed eseguire lo script attraverso ogni tabella. Come posso scrivere uno script per aprire un file alla volta, eseguire lo script di plottaggio, aprire il file successivo ed eseguire di nuovo lo stesso script.
Ri: diversi limiti di specifica su un grafico di variabilitàIl looping dovrebbe funzionare bene, ma devi usare i limiti corretti e le dimensioni del gruppo per ciascuno dei grafici. Di seguito è riportato un esempio rapido e sporco (vorrei sicuramente ripulire molto questo codice ma dovrebbe funzionare come una sorta di punto di partenza).
Visualizza altro...
(Il grafico della variabilità può anche essere creato utilizzando l'opzione Per, ma richiederà un tipo di loop leggermente diverso poiché molto probabilmente si eseguirà il loop sui grafici della variabilità e non sui parametri).
Ri: diversi limiti di specifica su un grafico di variabilitàGrazie mille. Penso che funzioni perfettamente tranne una cosa. Vedo che hai mantenuto un solo valore OVL_UDL e creato un solo grafico di variabilità. Voglio creare un grafico separato per ogni variabile OVL_UDL. Nei dati, dovrebbe esserci attivo per BC1_BM3 (che hai) ma un altro grafico per BC2_BM3. Ho provato a inserire un ciclo for per iterare il tuo script per ogni OVL_UDL ma non sono riuscito a ottenere limiti da mostrare. Qualche idea su come possiamo raggiungere questo obiettivo?
Grazie
Ri: diversi limiti di specifica su un grafico di variabilitàQuesto può essere fatto molto probabilmente molto più facilmente con il generatore di grafici che con il grafico di variabilità, ma se si desidera utilizzare il grafico di variabilità di seguito è un esempio semplificato utilizzando script grafici
Names Default To Here(1);
dt = Open("$DOWNLOADS/test.jmp");
dt << Delete Rows(Loc(dt[0, "OVL_UDL"], "BC1_BM3"));
var = Variability Chart(
Y(:VALUE),
X(:Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME)
);
spec_table = dt << Summary(
Group(:Loop),
// N Categories(:UP_CONTROL_LMT), // could be used for sanity check
Min(:UP_CONTROL_LMT),
Freq("None"),
Weight("None"),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("spectable")
);
specs = Associative Array(Column(spec_table, "Loop"), Column(spec_table, "UP_CONTROL_LMT"));
groups = dt << Summary(
Group(Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("groups")
);
fl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
sl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
framebox = Report(var)[frame box(1)];
framebox << Add Graphics Script(
Pen Color("Blue");
Pen Size(1);
H Line(0, fl_groups, specs["FL"]);
H Line(fl_groups, fl_groups + sl_groups, specs["SL"]);
);
framebox << Y Axis(Max(15));
