ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されました列切り替え用のスクリプトを設定すると、JMP 14 では列切り替えが完了した後にスクリプトが実行されますが、JMP 15 では列切り替え前に実行されます。
次の例では、列スイッチャーを使用してグラフ ビルダー プロットを作成し、列スイッチャー スクリプトを設定して、JMP バージョンと Y 軸のタイトルを出力します。
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());
);
JMP 14 でスクリプトを実行し、"weight" をクリックすると、次の出力が得られます。スクリプトは、列が切り替わった後に実行されます。
"14.1.0"
"weight"
ただし、JMP 15 で同じスクリプトを実行すると、出力が異なります。スクリプトは、列の切り替えが発生する前に実行されます。
"15.1.0"
"height"
この動作の変更により、列を切り替えた後に軸の最小/最大を設定する JMP スクリプトの 1 つが機能しなくなります。JMP 15で列を切り替えた後にスクリプトを強制的に実行する方法はありますか?ありがとう。
Re: ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されましたこの問題を JMP サポートに提出したところ、次のような回答がありました。
開発チームは、イベントの動作の変更が意図的なものであると判断できました。
今のところ、Jim Nelson がコミュニティで提案した回避策を使用できます。 ただし、JMP 15 の次のメンテナンス リリースでは、スクリプトを列スイッチャー参照に設定できるようにする新しいアプローチが計画されています。 これにより、スクリプトが適切なタイミングで実行されるようになります。 この機能は 7 月に利用可能になる予定です。
Re: ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されました@paul_vezzettiご返信いただきありがとうございます。残念ながら、新しい列名を読み取ることができても、新しい列でプロットが更新されたわけではありません。JMP 15 では、スクリプトの実行後に列の切り替えが引き続き発生しますが、新しい列名は列スイッチャーから読み取ることができます。したがって、私の使用例では、切り替え先の新しい列の軸スケールを設定したいのですが、スケールを設定した後に JMP が新しい列に切り替わり、軸が完全にリセットされるため、これは機能しません。
Re: ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されましたこれを試すこともできます:
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: ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されましたありがとうございました! このソリューションは、JMP 14 と 15 の両方で機能します。Re: ヘルプが必要 - JMP 15 の列スイッチャーの「スクリプトの設定」の動作が変更されましたあなたの問題をJMPサポートに提出して、JMPの正式な変更理由を取得しますが、スクリプトをフレームボックスに添付すると、必要な結果が得られます
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());
);