Benötigen Sie Hilfe – Verhalten von „Skript festlegen“ für Spaltenumschalter in JMP 15 geändertWenn Sie ein Skript für den Spaltenumschalter festlegen, wird das Skript in JMP 14 ausgeführt, nachdem der Spaltenwechsel abgeschlossen ist, aber in JMP 15 wird es vor dem Spaltenwechsel ausgeführt.
Im folgenden Beispiel wird ein Graph Builder-Plot mit einem Spaltenumschalter erstellt und das Spaltenumschalter-Skript so eingestellt, dass die JMP-Version und der Titel der Y-Achse gedruckt werden.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = new window("Test",
gb = Graph Builder(
Size( 528, 464 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Column Switcher( :height, {:height, :weight} )
)
);
nw[Listboxbox( 1 )] << set script(
print(JMP Version());
print(report(gb)[TextEditBox(4)]<< Get Text());
);
Wenn Sie das Skript in JMP 14 ausführen und auf "Gewicht" klicken, erhalten Sie die folgende Ausgabe.Das Skript wird ausgeführt, nachdem die Spalte umgeschaltet wurde.
"14.1.0"
"weight"
Wenn Sie jedoch dasselbe Skript in JMP 15 ausführen, ist die Ausgabe anders.Das Skript wird ausgeführt, bevor der Spaltenwechsel stattgefunden hat.
"15.1.0"
"height"
Diese Verhaltensänderung unterbricht eines meiner JMP-Skripte, die die Achse min/max nach dem Spaltenwechsel festlegen.Gibt es eine Möglichkeit, die Ausführung des Skripts nach dem Spaltenwechsel in JMP 15 zu erzwingen?Vielen Dank.
Re: Need Help - Verhalten von "Set Script" geändert für Spaltenumschalter in JMP 15Ich habe dieses Problem an den JMP-Support weitergeleitet und ihre Antwort erhalten:
Das Entwicklungsteam konnte feststellen, dass die Änderung des Ereignisverhaltens beabsichtigt war.
Im Moment können Sie die Problemumgehung verwenden, die Jim Nelson in der Community vorgeschlagen hat. Für die nächste Wartungsversion von JMP 15 ist jedoch ein neuer Ansatz geplant, der es Ihnen ermöglicht, ein Skript auf die Column Switcher-Referenz festzulegen. Dadurch wird sichergestellt, dass das Skript zum richtigen Zeitpunkt ausgeführt wird. Wir gehen davon aus, dass diese Funktion im Juli verfügbar sein wird.
Re: Need Help - Verhalten von "Set Script" geändert für Spaltenumschalter in JMP 15@paul_vezzetti Vielen Dank für Ihre Antwort, aber wenn Sie den neuen Spaltennamen lesen können, bedeutet dies leider nicht, dass der Plot mit der neuen Spalte aktualisiert wurde.In JMP 15 erfolgt der Spaltenwechsel immer noch nach der Skriptausführung, obwohl der neue Spaltenname aus dem Spaltenumschalter gelesen werden kann.In meinem Anwendungsfall möchte ich also die Achsenskalierung für die neue Spalte festlegen, auf die umgeschaltet wird, und dies funktioniert nicht, da JMP zur neuen Spalte wechselt, nachdem ich die Skalierung festgelegt habe, wodurch die Achse vollständig zurückgesetzt wird.
Re: Need Help - Verhalten von "Set Script" geändert für Spaltenumschalter in JMP 15Du könntest auch Folgendes versuchen:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Test",
gb = Graph Builder(
Size( 528, 464 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Column Switcher( :height, {:height, :weight} )
)
);
nw[Listboxbox( 1 )] << set script(
Print( JMP Version() );
Print( nw[Listboxbox( 1 )] << Get Selected() );
);
Re: Need Help - Verhalten von "Set Script" geändert für Spaltenumschalter in JMP 15Vielen Dank! Diese Lösung funktioniert in JMP 14 und 15.Re: Need Help - Verhalten von "Set Script" geändert für Spaltenumschalter in JMP 15Ich würde Ihr Problem an den JMP-Support weitergeben, um den offiziellen Grund für die Änderung von JMP zu erfahren. Wenn Sie jedoch das Skript an das Rahmenfeld anhängen, erhalten Sie die gewünschten Ergebnisse
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = new window("Test",
gb = Graph Builder(
Size( 528, 464 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Column Switcher( :height, {:height, :weight} )
)
);
nw[framebox( 1 )] << add graphics script(
print(JMP Version());
print(report(gb)[TextEditBox(4)]<< Get Text());
);