jmpレポートのButtonBoxにスクリプトを追加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
親愛なるコミュニティの皆様
私の問題は単純だと思いますが、それでも、いくつかの助けが必要です。 シミュレーターを追加したプロファイラー プラットフォームを使用して、いくつかの要素を含む応答のモンテカルロ シミュレーションを作成しています。
マイプロファイラー=プロファイラー(
Y ( :応答)
) ;
マイプロファイラー<<シミュレーター(
要因(
要因 1 <<ランダム(普通()) 、
要因2 <<ランダム(普通())
) ;
レポート ウィンドウの [テーブルにシミュレート] アウトライン ボックスの下にある [テーブルの作成] ボタンに機能を追加したいと考えています。 スクリプトを追加してこれを行います。 私がやりたいのは、「テーブルの作成」ボタンから得られたテーブルに名前を付け、このテーブルに対して一連の操作を実行することです。
報告(マイプロファイラー)[ボタンボックス( 2 )] <<スクリプトの設定(
MySimTable =現在のデータテーブル() ;
//MySimTable でアクションを実行します
) ;
問題は、「現在のデータテーブル'コマンドが実行される前にボタンを押したときのその他のアクション。 これは、現在のテーブルが「テーブルの作成」ボタンを押して生成されたテーブルではないことを意味します。 それで、ここに私の質問があります: を実行する前に「組み込み」ボタン機能を実行する方法はありますか?現在のデータテーブル' 指示? 生成されたテーブルへの参照を自動的に提供するソリューションを提供していただければ幸いです。
ありがとう
Re: jmpレポートのButtonBoxにスクリプトを追加こんにちは、
JMP 開発チームに、組み込み機能が実行される前にスクリプトが実行されるのは意図的な動作であることを確認しました。
以下は、元のボタンを非表示にし、スクリプトを実行し、元の (非表示の) ボタンをクリックして、別のスクリプトを実行する方法を示す簡略化された例です。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );dt << New Column( "heightplusweight", Formula( :height + :weight ) );
// replace the button in Simulate To Tablex = Profiler( y( :heightplusweight ) );x << Simulator( Factors( Factor1 << Random( Normal() ), Factor2 << Random( Normal() ) ));bb2 = Report( x )["Simulate to Table"][Button Box( 1 )];bb2 << Visibility( "Hidden" ); // new for JMP 12bb2 << Sib Prepend( Button Box( "NewButton", setfunction( Function( {this}, // this==replacement button New Window( "Before", < H List Box( Button Box( "OK" ), Button Box( "Cancel" ) ) ); (this << Sib) << Click; // sib==original button because of < New Window( "After", < H List Box( Button Box( "OK" ), Button Box( "Cancel" ) ) ); ) ) ));
これをモデルとして使用すると、古いボタンを非表示にしてクリックし、新しいテーブルの名前を設定するという概念を適用できます。
bb2 << Sib Prepend( Button Box( "NewButton", setfunction( Function( {this}, // this==replacement button (this << Sib) << Click; // sib==original button because of < Data Table(1) << Set Name( "New Table Name" ); ) ) ));
これがお役に立てば幸いです。
ウェンディ
Re: jmpレポートのButtonBoxにスクリプトを追加こんにちは、イアン
お返事をありがとうございます。 サポート チームが何を言うか知りたくて、このディスカッションをサポート チームに送信しました。
Re: jmpレポートのButtonBoxにスクリプトを追加こんにちは、ジェリー
私も同様の回避策を考えていました。 このソリューションの実装方法を教えていただきありがとうございます。 完璧に機能します
Re: jmpレポートのButtonBoxにスクリプトを追加私もイアンの意見に同意します。 ただし、より良いオプションが見つかるまでの回避策として、テーブル作成機能をハイジャックする新しいボタンを追加することを検討することもできます。
報告(マイプロファイラー)[ 「テーブルにシミュレート」 ] <<先頭に追加(
新しいボタン=ボタンボックス( 「メイクテーブルプラス」 、
報告(マイプロファイラー)[ボタンボックス( 3 )] <<クリック() ;
MySimTable =現在のデータテーブル() ;
)
) ;
新しいボタンを挿入すると、元のテーブル作成ボタンへの参照が 2 から 3 に変更されることに注意してください。
Re: jmpレポートのButtonBoxにスクリプトを追加以下のスクリプトは、見つかった動作を確認しているだけだと思います。 このような場合は、「setScript」のようになります。追加します事前定義されたスクリプト (これは合理的だと思われます) に追加しますが、追加ではなく先頭に追加されるように見えます。
名前デフォルトここへ( 1 ) ;
// テストテーブル
dt =新しいテーブル( 「シミュレートする」 、
行の追加( 5 ) 、
新しい列( "バツ" 、
数値、
「連続」 、
フォーマット( "最高" 、 12 ) 、
設定値( [ 1 、 2 、 3 、 4 、 5 】 )
) 、
新しい列( 「はい」 、
数値、
「連続」 、
フォーマット( "最高" 、 12 ) 、
式( :バツ+ランダム ノーマル( 0 、 0.1 ) )
)
) ;
// モデルに適合
FM = dt <<フィットモデル(
Y ( : y ) 、
効果( :バツ) 、
人格( 「標準最小二乗法」 ) 、
強調( 「効果レバレッジ」 ) 、
走る(
プロファイラー(
1 、
信頼区間( 1 ) 、
期間値(バツ( 3 、ロック( 0 ) 、見せる( 1 ) ) ) 、
シミュレーター(
1 、
要因(バツ<<ランダム(普通( 3 、 0.8 ) ) ) 、
反応( y <<騒音なし)
)
) 、
: y << {運動不足( 0 ) 、実際の値と予測値をプロットする( 1 ) 、予測による残差のプロット( 1 ) 、プロット効果の活用( 1 )}
)
) ;
// サンプルスクリプトを定義する
何かをする=
エクスプレッション(
ビープ() ;
のために(私= 1 、私<= NTテーブル() 、私++、印刷する(私、データ表(私) << getName )) ;
) ;
// サンプル スクリプトをボタンに割り当てます (JMP は、すでに存在するスクリプトの先頭に追加されるようです?)
報告( FM )[ボタンボックス( 5 )] << setScript (何かをする) ;
このスレッドを次の宛先に送信する可能性がありますsupport@jmp.com最終的な答えを得るには?