Wie gebe ich eine Variable in die Option „Historische Daten enden in Zeile“ für multivariate Regelkarten in JSL ein?Hallo.
Dies stammt aus einem der Scripting Index-Skripte.
Ich habe versucht, eine JSL zu schreiben, die im Wesentlichen row_end als dynamische Eingabe enthält, aber mein aktueller Code unten würde nicht wie beabsichtigt funktionieren.
Wie schreibe ich es, damit es funktioniert? Ich habe versucht, den gesamten Ausdruck in Eval (Eval Parse(Expression)) einzufügen, aber das hat auch nicht funktioniert.
Wenn ich row_end durch den tatsächlichen Wert ersetze, funktioniert mein Code nur dann. Irgendwelche Ideen? Vielen Dank.
Ich verwende JMP16.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Quality Control/Flight Delays.jmp" );
row_end = 16;
obj = dt << Model Driven Multivariate Control Chart( Process( :AA, :CO, :DL, :F9, :FL, :NW, :UA, :US, :WN ), Historical Data End at Row( row_end ) );
AnalytikSkripterstellungBetreff: Wie gebe ich eine Variable in die Option "Historische Daten enden in Zeile" für multivariate Regelkarten in JSL ein?"Historical Data End at Row()" scheint eine Variable nicht auswerten zu können. Daher muss man das in JSL handhaben.Ein üblicher Weg, dies zu tun, ist die Verwendung von "Eval Insert()".
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Quality Control/Flight Delays.jmp" );
row_end = 16;
Eval(
Parse(
Eval Insert(
"obj = dt << Model Driven Multivariate Control Chart( Process( :AA, :CO, :DL, :F9, :FL, :NW, :UA, :US, :WN ), Historical Data End at Row( ^row_end^ ))"
)
)
);
Oder man könnte eine Substitute()-Funktion verwenden, um das Problem zu lösen
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Quality Control/Flight Delays.jmp" );
row_end = 16;
Eval(
Substitute(
Expr(
obj = dt << Model Driven Multivariate Control Chart(
Process( :AA, :CO, :DL, :F9, :FL, :NW, :UA, :US, :WN ),
Historical Data End at Row( theEnd )
)
),
Expr( theEnd ), row_end
)
);