Agregar líneas de referencia en el gráfico de variabilidadTengo dos mesas
Tabla1 es dt=Data Table("Data"); Tiene columnas :WAFER, :STRUCTURE, :PARAMETER y :Value
La Tabla 2 es dtr= Tabla de datos ("Objetivos"); tiene columnas: PARÁMETRO, USL, LSL y Objetivo
En una ventana (que esté activa y se pueda usar para seleccionar puntos o cambiar leyendas) quiero tener gráficos de variabilidad de todos los parámetros junto con líneas de referencia agregadas (Objetivo, USL, LSL) para cada PARÁMETRO
Si un parámetro no tiene un objetivo en el archivo de objetivos (dtr), pero sí tiene datos en el archivo de datos (dt), el gráfico de variabilidad se crea sin las líneas de referencia. De lo contrario, se añaden las líneas de referencia.
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)}
)
)
)
);
Editar (jthi): se agregó formato jsl
Modelado estadístico avanzadoAutomatización y scriptingAnálisis y modelado de datos básicosRe: Agregar líneas de referencia en el gráfico de variabilidadUtilice "Para cada fila" para recorrer la tabla de objetivos (suponiendo que todos los parámetros estén presentes) y crear gráficos en el bucle. Puede tener mensajes de gráficos de variabilidad separados para diferentes casos (con/sin límites). Para los límites, utilice la evaluación de expresiones para agregar los límites.
Re: Agregar líneas de referencia en el gráfico de variabilidadEjemplo
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: Agregar líneas de referencia en el gráfico de variabilidadHola Jarmo,
1. En mi caso, quiero recorrer el parámetro en dt, que puede estar presente o no en dtr. Además, podría haber más de una fila con el mismo parámetro (imágenes con múltiples mediciones).
2. En tu script, no pude identificar qué gráfica corresponde a cada zona. Necesitaré que el nombre de la gráfica de variabilidad sea "Parámetro".
Re: Agregar líneas de referencia en el gráfico de variabilidadUtilicé la lógica siguiente, pero tengo dificultades para agregar los límites.
paramList = Associative Array(:Parameter << Get Values) << Get Keys;
For(i = 1, i <= N Items(paramList), i++,
currentParam = paramList[i]
);
Editar (jthi): se agregó formato jsl
Re: Agregar líneas de referencia en el gráfico de variabilidad¿Con qué parte tienes problemas? ¿Añadir límites a una matriz asociativa?