データテーブルのサブセットにスクリプトを適用する方法こんにちは、
データテーブルには6つのデータサブセットがあります(列Xで区別され、各サブセットには異なる文字「a」、「b」、「c」、「d」、「e」、「f」が割り当てられています)。6つのサブセットすべてに個別にスクリプトを適用し、スクリプトの6つの結果を1つの列に取得するにはどうすればよいでしょうか?
どうぞよろしくお願いいたします!
最高
クレア
------
現在データテーブル全体に適用されているスクリプト:
dt = Current Data Table();
dt << New Column("sumtempj",
Numeric,
Continuous,
<
<SET each="" value=""></SET>
<LINGO-LABS id="lingo-labs-615309" slang="en-US" mode="UPDATE">
<LINGO-LABEL>品質およびプロセスエンジニアリング</LINGO-LABEL>
</LINGO-LABS>
Re: データテーブルのサブセットにスクリプトを適用する方法ここにあるスクリプトに基づいて、インデックス列を追加し、一意の文字に基づいてサブセットを作成し、それぞれに対して数式を実行してから、データを元のテーブルに更新します。
Re: データテーブルのサブセットにスクリプトを適用する方法こんにちは、ヤルモです。
ヒントをありがとう!
私はJSLの初心者にすぎず、現在このスクリプトを持っています(以下を参照)。 結果列「sumtempj」は、生成された各サブデータテーブルに表示されますが、列には結果がありません。 間違いがわかりますか?
一番
クレア
脚本:
dt = Current Data Table();
// Perform the subsets
listDT = dt << Subset(
By( :BBI and SteriRun ),
All rows,
Selected columns only( 0 ),
columns( :RoundedTempJ, :BBI and SteriRun, :Sterilisation duration )
);
// Loop across all new data tables and run sumtempj
For( i = 1, i <= N Items( listDT ), i++,
listDT[i] << New Column( "sumtempj",
Numeric,
Continuous,
<<SET each="" value=""></SET>
Re: データテーブルのサブセットにスクリプトを適用する方法これを行う他の方法があるかもしれませんが、私はあなたのデータを知らないので、実際には何も提案できません. これは、機能する可能性のあるサブセットを使用する1つのソリューションです
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// add indexing to original data
dt << New Column("IDX", Numeric, Continuous, << Set Each Value(Row()));
// add data column to table as empty
new_col = dt << New Column("sumtempj", Numeric, Continuous);
col_name = new_col << get name;
// get unique groups to uniq_vals
Summarize(dt, uniq_vals_str = by(:age));
// in this case we have to convert uniq_vals back to numeric values BUT it isn't always necessary
// (summarize changes them to strings)
uniq_vals = Transform Each({uniq_val_str}, uniq_vals_str, num(uniq_val_str));
// loop over those unique values
For Each({uniq_val}, uniq_vals,
// create subset
uniq_val_rows = dt << Get Rows Where(:age == uniq_val);
dt_temp = dt << Subset(rows(uniq_val_rows), output table(char(uniq_val)), invisible);
// perform calculation
Column(dt_temp, col_name) << Set Each Value(
Col Max(:height);
);
// update values
dt << Update(
With(dt_temp),
Match Columns(:IDX = :IDX)
);
// wait is here for demo purposes
wait(1);
close(dt_temp, no save);
);
dt << Delete Columns("idx"); Re: データテーブルのサブセットにスクリプトを適用する方法これは私には少し高度すぎますが、入力していただきありがとうございます! 手作業をあまり行わずに結果を得る方法を見つけることができました。今のところ、それで十分です。
一番
クレア