Ich habe viele Spalten mit Spezifikationsgrenzen, die in den Spalteneigenschaften gespeichert sind. Ich versuche, Referenzlinien zu mehreren Variabilitätsdiagrammen in einer Spaltengruppe hinzuzufügen. Mein Problem ist, dass ich diese Linien scheinbar nicht hinzufügen kann, ohne durch eine Schleife zu gehen, über 400 Instanzen eines Variabilitätsdiagramms zu erstellen und sie manuell hinzuzufügen. Dies führt dazu, dass viel zu viel Speicher verbraucht wird und JMP langsamer wird, wenn nicht sogar abstürzt. Der ersten Referenzzeile, die ich hinzufügen möchte, kann dieser Code folgen. Hier bezieht sich Index i auf die bestimmte Spalte in der Spaltengruppe, die ich durchlaufe:
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
);
Im Folgenden erfahren Sie, wie ich diesen Code implementieren möchte, damit ich nicht für jede Spezifikation eine neue Instanz eines Variabilitätsdiagramms erstelle. Ich weiß einfach nicht, wie ich dem folgenden Code benutzerdefinierte Referenzzeilen hinzufügen kann. Grundsätzlich möchte ich zunächst einen Referenzlinienbereich hinzufügen, der für jede Spezifikation hellgrün zwischen LSL und USL hervorhebt.
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));
Jede Hilfe wäre sehr dankbar.
Rufen Sie Verweise auf die Umrissfelder im Variabilitätsdiagramm ab und durchlaufen Sie diese beim Festlegen von Referenzlinien
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);