데이터 테이블의 하위 집합에 스크립트를 적용하는 방법안녕하세요,
제 데이터 테이블에는 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>
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: 데이터 테이블의 하위 집합에 스크립트를 적용하는 방법이 작업을 수행하는 다른 방법이 있을 수 있지만 귀하의 데이터를 모르기 때문에 아무 것도 제안할 수 없습니다. 다음은 작동할 수 있는 하위 집합을 사용하는 한 가지 솔루션입니다.
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: 데이터 테이블의 하위 집합에 스크립트를 적용하는 방법이것은 나에게 너무 고급이지만 입력해 주셔서 감사합니다! 너무 많은 수동 처리 없이 결과를 얻을 수 있는 방법을 찾았고 현재로서는 충분합니다.
최상의
클레어