JMP Application Builder を使用して、かなり複雑な JSL アプリケーションを作成しました。 アプリケーション ランチャーは、ユーザーに列の選択を求めるプロンプトを表示します。次に、処理と視覚化を続行する前に、選択した列でデータを並べ替えます。
データ セットに依存する開いているウィンドウがある場合は、並べ替えを行わずに続行するか (データは事前に並べ替えられている可能性があります)、スクリプトを終了して、ユーザーが依存するウィンドウを処理できるようにするオプションをユーザーに提供する必要があります。この目的のために、次の関数を作成しました。
sortThisData = Function ({dt},
try( dt << Sort (By( Column(snCol), Column(dtCol)), Replace Table) ,
/* IF thrown */
if (contains(exception_msg[1], "JMP cannot replace the existing table"),
ex = New Window( "Alert", <<MODAL></MODAL>
ただし、アプリケーション自体が依存する開いているウィンドウとしてカウントされるようです。 他のウィンドウを開いていなくても、データを並べ替えることができません。
この問題を回避してデータを並べ替えるにはどうすればよいですか? SORT 関数を呼び出すタイミングをずらしましたが、ランチャーの [OK] ボタンが押された後、処理/視覚化が完了する前に行う必要があります。
助言がありますか?