cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
See how to use JMP Live to centralize and share reports within groups. Webinar with Q&A April 4, 2pm ET.
Choose Language Hide Translation Bar
View Original Published Thread

JMP テーブルの背後にあるスクリプトを抽出することはできますか?

powerpuff
Level IV

たとえば、レポート内の左上の赤いアイコンを手動で右クリックし、「スクリプトの保存」 --> 「スクリプト ウィンドウへ」 を押すことができます。

これをJSLスクリプトとして実行する方法はありますか? これはスクリプトを操作してさらに結合データテーブルを作成したいためです。 助けてくれてありがとう。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

30 REPLIES 30
Jeff_Perkinson
Community Manager Community Manager

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

それはとても役に立ちます。 まだいくつか質問がありますが、今ならもっとお手伝いできると思います。

これを一度に一歩ずつ進めてみましょう。

1 つのデータ テーブルでスクリプトを動作させてから、それを一般化することに注意してください。

これは、Big Class を使用した適合モデルからの適合概要レポート、分散分析レポート、およびスケール推定レポートから 3 つのデータ テーブルを作成するスクリプトです。

dt=open("$SAMPLE_DATA\Big Class.jmp");

fm=dt<

ご覧のとおり、列と行の構成が異なる 3 つのデータ テーブルが作成されます。

undefined

これらを 1 つのデータ テーブルにどのように結合しますか。 これらを連結すると、次のような奇妙なテーブルが作成されます。

undefined

一致する列がなければ、それらを結合することもできません。 なので、組み合わせに迷っています。

 

 

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

powerpuff
Level IV

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

Jeff の協力に感謝します。すでに 1 つのテーブルで機能するようになりました。 また、3 つのテーブルすべてに同じ列が 1 つあるので、おそらくその列を使用して結合することになります。 しかし、他の多くのテーブルでも機能する、より一般的なスクリプトが必要です。 それは可能ですか? ありがとう

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Jeff_Perkinson
Community Manager Community Manager

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?


@パワーパフ書きました:

Jeff の協力に感謝します。すでに 1 つのテーブルで機能するようになりました。 また、3 つのテーブルすべてに同じ列が 1 つあるので、おそらくその列を使用して結合することになります。 しかし、他の多くのテーブルでも機能する、より一般的なスクリプトが必要です。 それは可能ですか? ありがとう


データテーブルに作成された 3 つのレポートテーブルと同じ列がどのようにしてあるのかがわかりません。

1 つのデータ テーブルに対して動作するスクリプトがあり、それを一般化する準備ができているのは素晴らしいことです。 はい、一般化することは可能ですが、このスレッドの長さからわかるように、抽象的な中でどの部分に問題があるのかを正確に知ることは困難です。 1 つのデータ テーブルで動作するスクリプトの例を投稿していただければ、任意のデータ テーブルで動作するようにスクリプトを一般化するための最適な方向性を示すことができます。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

powerpuff
Level IV

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

こんにちは、ジェフ

私のスクリプトは次のとおりです。

 

dt=Open("C:\Users\myfile.jmp");
fm = Fit Model(
Y( :Name( "ABC Molecule" ) ),
Effects(
:Name( "ABCD" ),
:Timing 1,
:Timing 2,
:Timing 3,
:Temperature,
:pH,
:Name( "ABCD" ) * :Temperature,
:Name( "ABCD" ) * :pH,
:Timing 2 * :Timing 3,
:Timing 2 * :Temperature,
:Temperature * :pH,
:Name( "ABCD" ) * :Name( "ABCD" ),
:Timing 3 * :Timing 3
),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:Name( "ABCD" ) << {Scaled Estimates( 1 ),
Analysis of Variance( 1 ), Parameter Estimates( 1 ),
}
)
);

fmr=fm< F")[1::row1];
vals6=Column(b,"Column 2")[2::2];
d=NewTable("Result",NewColumn("Y",Character,Nominal,Values(vals)),NewColumn("Term",Character,Nominal,Values(vals2)),NewColumn("Scaled Estimate",Numeric,Continuous,Values(vals3)),NewColumn("F Ratio",Numeric,Continuous,Values(vals4)),NewColumn("Prob > F",Numeric,Continuous,Values(vals5)),NewColumn("RSquare Adj",Numeric,Continuous,Values(vals6)));

 

今のところ、これら 3 つのテーブルの列をランダムに組み合わせています。 さまざまなテーブルに対してこれを実現するための、より一般的なスクリプトを作成する方法を教えていただけますか? ありがとう

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Jeff_Perkinson
Community Manager Community Manager

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

ありがとう、それも助かります。

さらに質問があります:

  • あなたが達成しようとしていることの真相にたどり着いたかどうかはまだわかりません。 他の人が理解しやすいようにしようとしている特定の分析はありますか? 現在手作業で行っている作業をスピードアップしたいだけですか?
  • さまざまなソース テーブルに対して実行するスクリプトをお探しですか? そうである場合、これらのテーブルには、現在のスクリプトを作成したテーブルと同じ列名が付いていますか?
  • そうでない場合、Fit Model を使用して当てはめたいモデルの形式は固定されていますか? 私が尋ねる理由は、モデルのフィット ランチャー ダイアログは非常に柔軟であり、それを再現しようとしてほしくないからです。
  • 目標は、モデルの適合レポートからの統計のデータ テーブルをユーザーに提供することですか? もしそうなら、その目的は何ですか? そのフォームの統計情報を使用して、ユーザーにさらにどのような分析を実行してもらいたいですか?

他にもいくつかメモ。

プラットフォーム スクリプトを一般化するプロセスでは、スクリプト内の列参照をスクリプト変数に置き換えてから、新しい窓()ユーザーに使用する列の入力を求めるプロンプトを表示します。 繰り返しますが、モデルの形式が固定されていない場合、モデルの適合ではこれが複雑になるため、ここでは分布を使用した例を示します。

 

Big Class を使用した配布用のスクリプトから始めます。

 

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

dist_list = dt << Distribution( Y( :height, :weight ) );
//Note that the Distribution() returns a list of platforms.
//Therefore I have to index into that list to get the report for one of them

Report( dist_list[1] )[Outline Box( "Summary Statistics" )][Table Box( 1 )] <<
make combined data table;
 

 

ここで、これを一般化して、列参照を JSL 変数 (この場合は y_cols) に置き換えたいと思います。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

y_cols = {:height, :weight};

//The Eval()below tells JMP to evaluate the variable 
//before evaluating the Distribution(). 
dist_list = dt << Distribution( Y( Eval( y_cols ) ) );

Report( dist_list[1] )[Outline Box( "Summary Statistics" )][Table Box( 1 )] << make combined data table;

ここで、New Window() を使用して、使用する列をユーザーに要求したいと思います。

dt=current data table();

//The Column Reference argument for Get Selected was added in JMP 13.1
dist_prompt = New Window( "Choose Columns for Distribution",
 <

これがスクリプトを一般化するための基本的な考え方です。 上記の質問に対する答えは、特定のニーズに対応するのに役立ちます。 それらの詳細が必要になります。

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

powerpuff
Level IV

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

こんにちは、ジェフ。実際、最終開発レポート用の表を作成するためにチームが行っているコピー アンド ペーストを保存したいと考えています。 彼らは常に手動でデータテーブルを結合し、各テーブルから列を抽出する必要があります。
同じ列名を持つかどうかはわかりませんが、異なるソーステーブルに対してこのスクリプトを実行しようとしています。
適合させたいモデル フォームは常に Fit Model を使用します。
私の目標は、スクリプトを実行する jmp テーブルからの分散分析、適合の概要、およびスケール推定値の列を含むテーブルをエンド ユーザーに残すことです。 別の Jmp レポートから手動でコピー&ペーストする必要がなくなり、レポートを作成する時間を節約できます。 それが理にかなっているといいのですが??

助けてくれてありがとう。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

txnelson
Super User

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

JSL を使用すると、コードの汎用バージョンを作成できるようになります。それは非常に強力な言語です。スクリプト ガイドを読んでその道を歩み始めることをお勧めします。

ヘルプ==>書籍==>スクリプトガイド

次に、スクリプト索引についてよく理解してください。

ヘルプ==>スクリプトインデックス

JMP のさまざまなオブジェクトで利用できる機能の詳細を実際に提供するのは、スクリプト インデックスです。それぞれの例も示します。

 

コードの汎用バージョンの作業がうまくいくことをお祈りします。JSL を学習および実装する際に発生した問題については、ディスカッション グループ コミュニティがサポートしてくれることを忘れないでください。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

powerpuff
Level IV

Re: JMP テーブルの背後にあるスクリプトを抽出することは可能ですか?

ありがとう@txnelsonスクリプトガイドを調べてみます

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Re: Is it possible to extract the script behind a JMP Table?

Generally, JMP objects understand this message, including data tables:

Data Table( "Big Class" ) << Get Script; 

 

David_Burnham
Super User (Alumni)

Re: Is it possible to extract the script behind a JMP Table?

This is a long discussion thread so not sure if you have got your answer - if not, let me know, it can be done - and I have some code I can dig out if it will help

-Dave