JSL 経由でテーブルに名前を付け、後からスクリプト内で参照するにはどうすればよいですか?こんにちは。大きなデータテーブルからデータの小さなサブセットを選択し、そこから一時テーブルを作成しようとしています。 全体的な目的は、サブセット データを要約することです。 以下のスクリプトはサブセット データ テーブル "Name" を作成していますが、新しいテーブルを処理するための参照を返しません。 以下のスクリプトでは、Name データ テーブルではなく、Test データ テーブルのデータが要約されています。
手伝ってください。
dt=Open("Test.jmp");
Z= NRow();
k=dt<< Get Rows Where(:Para == "THK" );
pt = dt << Subset(
Rows(k),
Output Table Name("Name"),
);
// I want to summarize the data from this subset data table
Close (dt, No Save);
pt = Current Data Table ();
Summarize(
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
show (a,c);
Re: 出力テーブル名の参照1 つ目は質問、2 つ目は発言です。
データ テーブルを操作する場合、多くの場合、データ テーブルへの参照を取得し、それをメッセージの送信に再利用するのが効率的です。 最初の使用法は、関数を呼び出してその参照を取得し、将来の参照のためにそれを変数に保存することです。
現在のデータ テーブルは、明示的に指定されていない場合、JMP のほとんどのアクションがデフォルトでそのテーブルを使用するため便利です。 2 番目の使用法では、テーブル参照を割り当てて、それを現在のデータ テーブルにします。 複数のテーブルが開いていて、1 つのテーブルを現在のテーブルに切り替えたいと想像してください。
JSL のこの規定はスタイルの問題です。 また、1 つのスタイルが 1 つのスタイルよりも有利かどうかは、ユースケースによって異なります。
Re: 出力テーブル名の参照
pt = current data table();
現在のデータテーブルを取得します
current data table(pk);
現在のデータテーブルを設定します
Re: 出力テーブル名の参照違いは何ですか
pt = current data table();
と
current data table(pk);
?
Re: 出力テーブル名の参照何かが欠けている可能性がありますが、元の質問から、述べられている問題は、集計関数のサブセット化されたデータテーブルを参照できる必要があるように見えました。JMP 12 では、集計関数で使用できる追加の引数があります。データテーブルを最初の引数として追加できます。したがって、集計ステートメントを次のように変更するだけです。
Summarize(pt,
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
もう 1 つの観察は、次のステートメントを使用していたことです。
pt = current data table();
あなたが本当にやりたかったことは、次を使用して現在のデータテーブルを pk に設定することだと思います。
current data table(pk);
それとも完全に方向を間違えているのでしょうか?
Re: 出力テーブル名の参照「Close()」の「Save」オプションを使用する場合は、ファイルをどこに置くかを JMP に指示する必要があります。
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(3);
Close(dt, Save("$DESKTOP/"||(dt << getName)));Re: 出力テーブル名の参照<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ありがとう。 私の元の問題を解決するようです。 。
実際、私の元のスクリプトも機能するようですが、データテーブルオブジェクトを簡単に処理できないだけです。 今回の場合(スクリプトを使用)と同様に、サブセットテーブルを保存できません。 助言がありますか?? 前もって感謝します
閉じる (dtSub、保存);
エラーがスローされます....
I/O の問題。 ReadWrite モードでは開けません。
システムは、指定されたファイルを見つけることができません。
JMP データ テーブルへの変更を保存しますか?
Re: 出力テーブル名の参照この場合、JSL に相当する「表 > 概要」の方がよいでしょうか。
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
rows2get = dt << getRowsWhere(:sex == "F");
dtSub = dt << Subset(Rows(rows2get), Output Table("Females"));
dtSummary = dtSub << Summary(Mean(:Weight), Group(:age));