Aggiunta di linee di riferimento nel grafico della variabilitàHo due tavoli
La tabella 1 è dt=Data Table("Data"); Ha le colonne :WAFER, :STRUCTURE, :PARAMETER e :Value
La Tabella 2 è dtr= Tabella dati("Obiettivi"); ha le colonne: PARAMETRO, USL, LSL e Obiettivo
In una finestra (attiva e utilizzabile per la selezione dei punti o la modifica delle legende) desidero avere grafici di variabilità di tutti i parametri insieme alle linee di riferimento aggiunte (Target, USL, LSL) per ciascun PARAMETRO
Se un parametro non ha un target nel file Target (dtr) ma ha dati nel file DATA (dt), il grafico della variabilità viene creato senza le linee di riferimento. In caso contrario, vengono aggiunte linee di riferimento.
nw << Append(
vc = dt << Variability Chart(
Y(:Normalize Value),
X(:STRUCTURE, :WAFER),
Variability Analysis(
:Value,
Connect Cell Means(1),
Std Dev Chart(0),
Points Jittered(1),
AIAG Labels(0),
Show Box Plots(1)
),
Where(:Parameter == currentParam),
SendToReport(
Dispatch({"Variability Chart for Normalize Value"}, "2", ScaleBox,
{Add Ref Line(lsl, "Dotted", "Red", "LSL", 2),
Add Ref Line(target, "Solid", "Black", "Target", 2),
Add Ref Line(usl, "Dotted", "Red", "USL", 2)}
)
)
)
);
Modifica (jthi): aggiunta formattazione jsl
Modellazione statistica avanzataAutomazione e scriptingAnalisi e modellazione dei dati di baseRe: Aggiunta di linee di riferimento nel grafico della variabilitàUtilizza "For Each Row" per scorrere la tabella target (supponendo che tutti i parametri siano presenti) e creare grafici nel ciclo. Puoi avere messaggi di variabilità separati per casi diversi (limiti/nessun limite). Per i limiti, usa la valutazione dell'espressione per aggiungere i limiti.
Re: Aggiunta di linee di riferimento nel grafico della variabilitàEsempio
Names Default To Here(1);
dt_limits = New Table("Cities Limits",
Add Rows(4),
New Column("Process",
Character,
Set Values({"OZONE", "CO", "SO2", "NO"})
),
New Column("LSL", Numeric, Set Values([-20, -30, -25, -10])),
New Column("Target", Numeric, Set Values([5, ., 1, 5])),
New Column("USL", Numeric, Set Values([20, 30, 10, 25])),
Set Label Columns(:Process)
);
dt = Open("$SAMPLE_DATA/Cities.jmp");
dt_stack = dt << Stack(
columns(:OZONE, :CO, :SO2, :NO, :PM10, :Lead),
Output Table("Stack of Cities (OZONE, CO, SO2, NO, PM10, Lead)")
);
Close(dt, no save);
nw = New Window("",
vlb = V List Box()
);
For Each Row(dt_limits,
lowlimit = :LSL;
highlimit = :USL;
targetlimit = :Target;
If(Is Missing(targetlimit),
vlb << Append(dt_stack << Variability Chart(Y(:Data), Model("Main Effect"), X(:city)))
,
vlb << Append(Eval(EvalExpr(
dt_stack << Variability Chart(
Y(:Data),
Model("Main Effect"),
X(:city),
SendToReport(
Dispatch(
{"Variability Gauge Analysis for Data", "Variability Chart for Data"},
"2", ScaleBox,
{Add Ref Line(Expr(lowlimit), "Dotted", "Red", "LSL", 2),
Add Ref Line(Expr(targetlimit), "Solid", "Black", "Target", 2),
Add Ref Line(Expr(highlimit), "Dotted", "Red", "USL", 2)}
)
)
);
)));
);
);
Write();

Re: Aggiunta di linee di riferimento nel grafico della variabilitàCiao Jarmo,
1. Nel mio caso, voglio scorrere il PARAMETRO in dt, che potrebbe essere presente o meno in dtr. Inoltre, potrebbero esserci più righe con lo stesso PARAMETRO (immagini di misurazioni multiple).
2. Nel tuo script non sono riuscito a distinguere quale grafico si riferisce a quale Zona. Dovrò usare il nome del grafico di variabilità come Parametro.
Re: Aggiunta di linee di riferimento nel grafico della variabilitàHo utilizzato la logica seguente ma ho avuto difficoltà ad aggiungere i limiti
paramList = Associative Array(:Parameter << Get Values) << Get Keys;
For(i = 1, i <= N Items(paramList), i++,
currentParam = paramList[i]
);
Modifica (jthi): aggiunta formattazione jsl
Re: Aggiunta di linee di riferimento nel grafico della variabilitàCon quale parte hai problemi? Aggiungere limiti all'array associativo?