Der Listenausdruck wertet nur den ersten Wert ausIch versuche, als Skript zu reparieren, das durch den JMP15-Rollout nicht mehr funktionsfähig gemacht wurde.
Ich habe eine Listenvariable, die Spaltennummern von Interesse enthält.
ListofColumns= List(8,12,7,14);
Ich versuche, in jedem Fenster eine Reihe von Kontrolldiagrammen für jede der Spalten in der Liste zu erstellen:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(eval(ListofColumns)))
);
Wenn ich diesen Code ausführe, wird das richtige Kontrolldiagramm für Spalte 8 generiert, aber keines der anderen.
Wenn ich die Liste jedoch manuell eingebe, werden alle vier Regelkarten ordnungsgemäß generiert:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(8,12,7,14))
);
Ich bin mir sicher, dass dies früher mit Code vor dem Kontrolldiagramm-Builder funktioniert hat. Und ich bin mir auch sicher, dass mir etwas Einfaches fehlt. Schätzen Sie jede Hilfe!
SkriptingBetreff: Der Listenausdruck wertet nur den ersten Wert ausIch habe Ihren Code zurück zu JMP 11 getestet und festgestellt, dass der Code genauso funktioniert. Im Folgenden ist das, was ich für eine hässliche Lösung halte, und ich hoffe, dass jemand eine bessere Lösung hat
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/blood pressure.jmp" );
ListofColumns = List( 8, 4, 7, 5 );
Eval(
Parse(
"Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y( "
|| Substr(
Char( listofcolumns ),
2,
Length( Char( listofcolumns ) ) - 2
) || " )
));"
)
);
Betreff: Der Listenausdruck wertet nur den ersten Wert ausDanke für den Tipp. Am Ende habe ich jedoch einen anderen Ansatz gewählt und jeden Wert in der Liste durchlaufen:
For( j = 1, j <= N Items(ListofColumns), j++, //step through the row numbers of interest
WinHandle3 << append (Control Chart( //append the control chart to existing window
Sample Label( :Lot_Number ), // using legacy Control Chart platform allows sample label use
Group Size( 1 ),
KSigma( 3 ),
Chart Col(
ListofColumns[j],
Individual Measurement,
Moving Range
)));
); // close the for loop.
Ich habe gerade jedes Diagramm an ein vorhandenes Fenster angehängt. Ich habe auch die Verwendung der älteren Control Chart-Plattform anstelle des (verbesserten?) Control Chart-Builders geändert, da ich das Beispieletikett anstelle einer bedeutungslosen fortlaufenden Nummer auf der X-Achse angeben wollte. Das obige Skript scheint zu funktionieren.