limiti di SPEC automatici in var. graficiCiao
ho creato uno script che genera un grafico di variabilità che mostra nell'asse Y: NewValue e nell'asse X: ENTITY.
il grafico di variabilità è filtrato da ATTRIBUTE_NAME, quindi ottengo molti grafici, ciascuno per ogni nome di attributo.
Voglio che lo script aggiunga i limiti SPEC pertinenti da una tabella di dati aggiuntiva (chiamata: "Limiti SPEC gas") a nuove colonne e generi un grafico di variabilità per ciascun nome di attributo con i suoi valori SPEC specifici.
impossibile capire come farlo, per favore aiutatemi!
allegato qui è il mio script fallito finora per generare USL manualmente per 3 diversi attributi:
dt = tabella dati correnti ();
dt << Nuova colonna ("USL",
Numerico,
Continuo,
Formula (Se (: ATTRIBUTE_NAME == "Gas07TactrasFlowCheckF2", 65,
Se (: ATTRIBUTE_NAME == "Gas08TactrasFlowCheckF2", 70,
Se (: ATTRIBUTE_NAME == "Gas04TactrasFlowCheckF2", 15, 10)
)))
);
varch = dt << Grafico di variabilità (
Y (: NewValue),
X (: ENTITY),
By (: ATTRIBUTE_NAME),
Mostra barre della distanza (0),
Mostra mezzi cellulari (0),
Connect Cell Means (0),
Mostra separatori (0),
Std Dev Chart (0),
Punti Jittered (1),
Etichette AIAG (0),
NOME ATTRIBUTO
SendToReport (
Spedizione(
{},
"1",
scalebox,
{Aggiungi Ref Line (__Upper__, "Solid", "Black", "gfgfd", 1)}
),
Spedizione(
{},
"Oneway Plot",
framebox,
)
)
);
Per (i = 1, i <= N Righe (dt), i ++,
report (varch) [axisbox (1)] << Aggiungi Ref Line (dt: LSL [i], "Solid", "Dark Green", "Target", 1);
report (varch) [axisbox (1)] << Aggiungi Ref Line (dt: USL [i], "Solid", "Dark Green", "", 1);
);
Ri: limiti SPEC automatici in var. graficiCi sono 2 problemi con il tuo script
- Il grafico di variabilità non genera 1 struttura di report per il suo output, ma piuttosto genera una struttura di report per ciascun gruppo By. Pertanto, specificando
Report( varch )[AxisBox(1)]
è un riferimento errato, è necessario specificare a quale struttura del report si desidera fare riferimento, ad esempio per " Gas07TactrasFlowCheckF2 "che è alfabeticamente il primo per gruppo, il riferimento sarebbe
Report( varch[1] )[AxisBox(1)]
- Il ciclo For () creerà un insieme di linee di riferimento per ciascuna delle righe nella tabella dei dati. Suppongo che potresti avere centinaia di righe nella tua tabella di dati e che scriveresti sempre le stesse righe. Quello che devi fare è creare una tabella di riepilogo con una sola riga per ogni VarChart che stai per creare, quindi passare attraverso quella tabella e applicare i valori al grafico di variabilità appropriato.
Ho allegato un esempio che illustra come potresti voler realizzare la tua sceneggiatura
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);Ri: limiti SPEC automatici in var. graficiGrazie per la tua risposta!
per far avanzare ancora di più il mio script, vorrei unirmi alla mia tabella corrente (con i dati che sono disposto ad analizzare) con un'altra tabella di dati (limiti SPEC) che è costante e non cambia mai.
La tabella dei dati dei limiti SPEC contiene queste colonne: "Gas__TactrasFlowCheckF_", "LSL", "TARGET", "USL".
il primo simbolo "_" della colonna rappresenta le opzioni per 1-14 gas diversi con 4 tipi di impostazione del flusso per ciascun gas.
Unire i dati a una tabella renderebbe più semplice che annotare ogni limite di specifica per ciascun tipo di gas.
Le 2 tabelle di dati condividono solo 1 colonna "Gas__TactrasFlowCheckF" e voglio che lo script aggiunga 3 limiti SPEC alla mia tabella corrente per ogni riga.
Dopo essermi unito alla tabella dei dati avrei usato lo script nella prima risposta per generare var. grafici per ciascun flusso di gas con impostazioni specifiche specifiche.
Una seconda cosa che vorrei fare è la trama bivariata:
nell'asse X posizionerei "Tempo", e per l'asse Y: "Valore". genererei un diagramma per ogni impostazione di flusso.
ho avuto difficoltà ad aggiungere linee di riferimento ("LSL", "TARGET", "USL") a ogni trama.
Apprezzerei molto il tuo aiuto con questo!
Grazie