jmpレポートのButtonBoxにスクリプトを追加する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
親愛なるコミュニティ
私の問題は単純なものだと思いますが、それでも私はいくつかの助けを借りることができます。 シミュレーターが追加されたプロファイラープラットフォームを使用して、いくつかの要因を含む応答のモンテカルロシミュレーションを作成しています。
MyProfiler =プロファイラー((
Y (( :応答)。
)。 ;
MyProfiler <<シミュレーター((
要因((
ファクター1 <<ランダム((普通()) 、
ファクター2 <<ランダム((普通())
)。 ;
レポートウィンドウの[テーブルにシミュレート]アウトラインボックスの下にある[テーブルを作成]ボタンにいくつかの機能を追加したいと思います。 スクリプトを追加することでそれを行います。 私がやりたいのは、[テーブルの作成]ボタンの結果としてテーブルに名前を付け、このテーブルに対して一連の操作を実行することです。
報告(( MyProfiler )[ ButtonBox (( 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にスクリプトを追加します私はイアンに同意します。 ただし、より適切なオプションが得られるまでの回避策として、テーブルの作成機能を乗っ取る新しいボタンを追加することを検討してください。
報告(( MyProfiler )[ 「テーブルにシミュレート」 ] <<プリペンド((
newbutton =ボタンボックス(( 「MakeTablePlus」 、
報告(( MyProfiler )[ ButtonBox (( 3 )] <<クリック() ;
MySimTable =現在のデータテーブル() ;
)。
)。 ;
新しいボタンを挿入すると、元の[テーブルの作成]ボタンへの参照が2から3に変更されることに注意してください。
Re:jmpレポートのButtonBoxにスクリプトを追加します以下のスクリプトは、あなたが見つけた動作を確認するだけだと思います。 そのような場合、「setScript」のように見えます追加します事前定義されたスクリプト(これは合理的と思われます)に追加されますが、次のように追加されるのではなく、追加されるように見えます。
NamesDefaultToHere (( 1 )。 ;
//テストテーブル
dt =新しいテーブル(( 「シミュレート」 、
行を追加(( 5 )。 、
新しい列(( "バツ" 、
数値、
「継続的」 、
フォーマット(( "一番" 、 12 )。 、
値を設定する(( [ 1 、 2 、 3 、 4 、 5 ] )。
)。 、
新しい列(( 「y」 、
数値、
「継続的」 、
フォーマット(( "一番" 、 12 )。 、
方式(( :バツ+ランダム正規(( 0 、 0.1 )。 )。
)。
)。 ;
//フィットモデル
fm = dt <<フィットモデル((
Y (( : y )。 、
効果(( :バツ)。 、
個性(( 「標準最小二乗」 )。 、
強調(( 「効果レバレッジ」 )。 、
走る((
プロファイラー((
1 、
信頼区間(( 1 )。 、
期間価値((バツ(( 3 、ロック(( 0 )。 、見せる(( 1 )。 )。 )。 、
シミュレーター((
1 、
要因((バツ<<ランダム((普通(( 3 、 0.8 )。 )。 )。 、
反応(( y <<ノイズなし)。
)。
)。 、
: y << {{運動不足(( 0 )。 、予測による実際のプロット(( 1 )。 、予測による残差のプロット(( 1 )。 、プロット効果の活用(( 1 )}
)。
)。 ;
//サンプルスクリプトを定義します
doSomething =
Expr ((
ビープ() ;
為に((私= 1 、私<= NTable () 、私++、印刷((私、データ表((私)。 << getName )) ;
)。 ;
//サンプルスクリプトをボタンに割り当てます(JMPは、すでに存在するスクリプトの前に追加されているようです?)
報告(( fm )[ ButtonBox (( 5 )] << setScript (( doSomething )。 ;
多分このスレッドをに送ってくださいsupport@jmp.com決定的な答えを得るために?