Ho molte colonne con limiti di specifica salvati nelle proprietà della colonna. Sto cercando di aggiungere linee di riferimento a più grafici di variabilità in un gruppo di colonne. Il mio problema è che non riesco ad aggiungere queste righe senza scorrere e creare oltre 400 istanze di un grafico di variabilità e aggiungerle manualmente. Ciò causa l'utilizzo di una quantità eccessiva di memoria e rallenta se non blocca JMP. La prima riga di riferimento che sto cercando di aggiungere può essere seguita da questo codice. Qui l'indice i si riferisce alla colonna particolare nel gruppo di colonne che sto scorrendo:
report(gb)[axis box( 1 )] << Add Ref Line(
{Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ) ) - 5
)
), Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ) ) - 5
)
)},
"Solid",
"Light Green",
"",
1,
0.25
);
Di seguito è riportato come vorrei implementare questo codice, in modo da non creare una nuova istanza di un grafico della variabilità per ciascuna specifica. Semplicemente non so come aggiungere linee di riferimento personalizzate al codice seguente. Fondamentalmente voglio aggiungere inizialmente un intervallo di linee di riferimento che evidenzi tra LSL e USL in verde chiaro per ciascuna specifica.
open("$SAMPLE_DATA/Semiconductor Capability.jmp");
DT = Current Data Table();
DT << Manage Limits(
Process Variables(
DT << Get Column Group ("Processes")
),
<< Show Limits All,
<< Save to Column Properties,
close window
);
SpecVarCharts = Variability Chart( Y( Column Group( "Processes" ) ), X( :Wafer, :Site ),Connect Cell Means( 1 ), Std Dev Chart(0));
Qualsiasi aiuto sarebbe molto apprezzato.
Ottieni riferimenti alle caselle di contorno nel grafico della variabilità e ripetile mentre imposti le linee di riferimento
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); // column properties are already set
varchart = dt << Variability Chart(
Y(Column Group("Processes")),
X(:Wafer, :Site),
Connect Cell Means(1),
Std Dev Chart(0),
invisible
);
obs = varchart << XPath("//OutlineBox[contains(text(), 'Variability Chart for')]");
For Each({ob}, obs,
colname = Substitute(ob << get title, "Variability Chart for ", "");
specs = Column(dt, colname) << Get Property("Spec Limits");
low = specs["LSL"] - 5;
high = specs["USL"] + 5;
ob[AxisBox(1)] << Add Ref Line(low, "Solid", "Light Green", "", 1, 0.25);
ob[AxisBox(1)] << Add Ref Line(high, "Solid", "Light Green", "", 1, 0.25);
);
varchart << Show Window(1);