如何將腳本應用於資料表的子集你好,
我的資料表中有 6 個資料子集(透過 X 列區分,每個子集分別以不同的字母「a」、「b」、「c」、「d」、「e」和「f」表示)。如何將腳本分別應用於所有 6 個子集,並將腳本的 6 個結果顯示在同一列中?
感謝您的支持!
最好的
克萊爾
------
當前腳本已應用於整個資料表:
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>
回复:如何在數據表的子集上應用腳本僅根據您在此處擁有的腳本,我將添加索引列,根據唯一字母創建子集,對每個字母運行公式,然後將數據更新回原始表
回复:如何在數據表的子集上應用腳本嗨,亞爾莫,
謝謝你的提示!
我只是 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>
回复:如何在數據表的子集上應用腳本可能還有其他方法可以做到這一點,但由於我不知道你的數據,我真的不能提出任何建議。 這是一個使用可以工作的子集的解決方案
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"); 回复:如何在數據表的子集上應用腳本這對我來說有點太高級了,但感謝您的投入! 我設法找到了一種無需太多手動處理即可獲得結果的方法,現在它已經足夠好了。
最好的
克萊爾