<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP 9.0.3
Windows 7 Enterprise SP1
Ich versuche, einige Anzeigeparameter des Kontrolldiagramms mithilfe von „Dispatch“ zu bearbeiten. Es scheint, dass ich den Befehl nur dann zum Laufen bringen kann, wenn ich die Zeichenfolge direkt für den Diagrammtitel verwende. Ich muss diesen Namen irgendwie an den Dispatch-Befehl übergeben können. Hier ist mein „funktioniert nicht“-Skript:
xbarname = evalu ( „XBar von“ || Testname ) ;
Kontrollkarte (
Musteretikett ( : Probe ) ,
Diagrammspalte ( : Testspalte ,
XBar (
Boxplots ( 1 ) ,
Punkte verbinden ( 0 ) ,
) ,
) ,
SendToReport (
Versenden (
{ xbarname } ,
„2“ ,
ScaleBox ,
{ Mindest ( 1 ) , Max ( 1.5 ) , Inc ( 0,05 ) ,
Kleinere Zecken ( 1 )}
) ,
)
) ;
Ich habe es versucht, konnte es aber nicht finden Eine magische Kombination aus Auswertung, Analyse und Ausdruck, mit der es direkt funktioniert.In Situationen wie dieser tendiere ich dazu, mit roher Gewalt vorzugehen.Grundsätzlich erstellen Sie einen String dynamisch und führen ihn mit eval(parse()) aus.Die Verwendung von evalinsert ermöglicht das saubere Einfügen von Parametern, in diesem Fall xbarname.Außerdem ermöglicht die Verwendung der Konstrukte \[ und ]\ das Einbetten doppelter Anführungszeichen, ohne dass diese maskiert werden müssen, was dem Code auch ein übersichtlicheres Aussehen verleiht.
Testname = "Temperatur" ;
xbarname = „XBar von“ || Testname ;
cc_expr = evalinsert ( „\[
Kontrollkarte(
Beispieletikett (: Beispiel),
Chart Col( :Testcolumn, XBar( Box Plots( 1 ), Connect Points( 0 ), ), ),
SendToReport(
Versenden(
{"^xbarname^"},
„2“,
ScaleBox,
{Min( 1 ), Max( 1,5 ), Inc( 0,05 ), Minor Ticks( 1 )}
),
)
)]\" ) ;
evalu ( analysieren ( cc_expr )) ;