225_ja-JP
JSL を使用してカスタム表示ウィンドウのグラフと表を更新する最近、いくつかのデータに対してTOPSIS多属性意思決定分析を実行し、最適なケースを選択するためのスクリプトを作成しました。実際の計算は数学的には非常に基本的なもので、問題なく動作します。作業対象のデータに関する情報、計算に使用した重要度の重み付けを棒グラフ形式で表示するためのウィンドウ、結果の散布図マトリックス、結果の3D散布図、そして上位10件のケースを示す表を作成しました。
このインターフェースをよりインタラクティブにすることにしました。ユーザーが重要度の重み付けを変更したり、計算をやり直したり、グラフや表を更新したりできるようにしたいのです。計算のやり直しは問題なく完了しましたが、表示要素に問題があります。具体的にいくつか問題があります。
1) 計算を再度実行すると、散布図と表の情報元となるデータテーブルが更新されます。データテーブルで色とマーカーを選択したにもかかわらず、更新後の散布図マトリックスには、選択されていない通常の点しか表示されません(3D散布図は問題なく更新されているように見えます)。「再表示」してもこの問題は解決しません。「分析をやり直す」コマンドを実行すれば修正できますが、新しいウィンドウが開きます。「分析をやり直す」コマンドを使用して、同じウィンドウ内の古い散布図マトリックスを単純に置き換える方法はありますか?
2) 上位10件のケースの表を更新できません。表は複数の数値列ボックスを含む表ボックスです。「再表示」と「<
3) 最後に問題なのは、棒グラフが他のグラフや表とは異なるデータテーブルから実行されていることです。そもそもすべての要素を正しく作成するために、次のような方法でこの問題を解決しました。
displayElement = currentdatatable(x); チャート(...)
この方法はうまくいきますが、displayElementにチャートのようにメッセージを渡すことができなくなります。この問題を回避するより良い方法はありますか?
マニュアルをざっと読みましたが、Reshow以外に既存の表示要素の更新について具体的な説明は見つかりませんでした。JSL、特にインタラクティブな表示の作成に関しては初心者なので、何か見落としているだけかもしれません。アドバイスをいただければ幸いです。Re: JSL を使用してカスタム表示ウィンドウのグラフと表を更新するザン、
改めて感謝申し上げます。
同じような問題を抱えている方のために、ちょっとした注意点を一つ。上記の方法はそのままではうまくいきません。散布図マトリックスは表示ボックスではないため、appendメソッドでエラーが発生します。ただし、以下のように散布図の周囲に境界ボックスを使用すれば、問題なく動作します。
spm = Borderbox( 散布図マトリックス(...) );Re: JSL を使用してカスタム表示ウィンドウのグラフと表を更新するJMP 7の項目1については、回りくどい方法で実現できるかもしれません。散布図マトリックスを結合レポートに追加する際に、リストボックスで囲みます。そして、マトリックスを更新したいときは、再度実行し、古い結果を削除して、新しい結果をラップされたリストボックスに追加します。再実行は、明示的なボタン操作によってトリガーされるか、あるいは他の何らかの副作用としてトリガーされる可能性があります。思いつく限りでは、次のような方法があります。
wrapper = V リストボックス( spm = 散布図マトリックス(...));
...
spm << 削除;
ラッパー << Append( spm = Scatterplot Matrix(...));
...
JMP 8では、インタラクティブなJMPの結果を共有するために、プロファイルとバブルプロットをFlash形式でエクスポートできます。もちろん、すべてのJMPバージョンで、静的画像を様々な形式でエクスポートしたり、レポートやジャーナルをHTMLまたはRTF形式でエクスポートしたりできます。Re: JSL を使用してカスタム表示ウィンドウのグラフと表を更新するザン、
本当にありがとうございます。2と3は問題なく動作しました。1については、JMP 8を持っていません。こちらでは新しいソフトウェアの入手にかなり時間がかかることがあります。JMP 7の回避策をご存知でしょうか?
少し関連しますが、このインタラクティブな部分を移植可能にするため、Excelでやり直す必要がありました。しかし、ExcelはJMPと同じようにデータを扱えないため、JMPの方がはるかに扱いにくいと感じています。JMPを持っていない人でも実行できる、機能が限定された小さな実行ファイルを作成する機能、あるいはJMPに機能を追加する予定はありますか?MATLABにはこの機能があることは知っています。SASでは現実的ではないかもしれませんが、JMPの強力な分析機能を特に必要としない意思決定者とコミュニケーションをとるために、JMPのプロットを使用できると便利だと思います。Re: JSL を使用してカスタム表示ウィンドウのグラフと表を更新するこれまでのところ、かなり順調に進んでいるようですね。
1) どうやら、散布図行列は3D散布図よりもデータテーブルの更新に対する感度が高いようです。JMP 8をお使いの場合は、「スクリプト」サブメニューに「自動再計算」オプションがあり、データテーブルが変更されるたびにインプレース再計算分析が実行されます。
2) 値を行列として渡すと、<< Set Values が機能します。
ncb << 値の設定([1, 2, 3]);
3) プラットフォーム名をメッセージとしてデータテーブルに渡すことができ、x << Chart(...) を使用できるはずです。Re: JSL を使用してカスタム表示ウィンドウのグラフと表を更新するフォーラムが少し活発になっていることに気づいたので、これをもう一度取り上げて、誰かの意見を聞いてみようと思いました。
ありがとう。
Comments
There are no comments yet