다른 열을 기준으로 열의 크기를 조정하려면 어떻게 해야 하나요?안녕하세요, 다음과 같은 표가 있습니다. 몇 개의 명목형 열과 많은 수치형 열로 구성되어 있습니다.

명목 열들을 복사하고 N(#) 열의 값을 "N rows" 열로 나눈 다음 100을 곱하여 백분율을 구하는 "table_scaled"라는 새 테이블을 만들고 싶습니다. 다음 코드를 시도해 봤지만 빈 열 하나만 있는 빈 테이블만 생성됩니다. 혹시 해결 방법을 아시는 분이 계신가요?
dt = Current Data Table();
NewTable("HOT_COLD_summary_scaled",
For( i = 1, i <= N Cols( HOT_COLD_summary ), i++,
dt << New Column(
Column( i ) << get name,
Numeric,
"Continuous",
Formula( (:column( i )*100) /(HOT_COLD_summary:N rows) )
)
)
);
자동화 및 스크립팅데이터 접근대량 맞춤화품질 및 공정 엔지니어링Re: 열을 다른 열로 확장하려면 어떻게 해야 하나요?최종 테이블의 모양에 대한 올바른 값이 있는 예를 제공할 수 있습니까? 또한 테이블 그림을 사용할 수 없으므로 스크립트(소스 스크립트를 제거하고 필요한 경우 익명화)를 개발하는 데 사용할 수 있는 데이터 테이블을 제공할 수 있습니다.
Re: 열을 다른 열로 확장하려면 어떻게 해야 하나요?안녕 자모,
감사합니다. 시작 테이블인 summary를 첨부했고 summary_scaled는 스크립트로 작성하고 싶은 것입니다.
Re: 열을 다른 열로 확장하려면 어떻게 해야 하나요?JMP16+가 있는 경우 여기에 하나의 옵션이 있습니다.
Names Default To Here(1);
dt = Open("$DOWNLOADS/summary.jmp");
dt_copy = dt << Subset(All Rows, Selected Columns(0), Output table("summary_scaled"));
close(dt, no save);
col_list = dt_copy << Get Column Names("String");
// first col isn't needed, second col is expected to be N Rows -> skip those
cols_of_interest = Remove(col_list, 1,2);
For Each({ncol}, cols_of_interest,
new_col = Eval(EvalExpr(
dt_copy << New Column(ncol ||"_scaled%", Numeric, Continuous, Formula(
100*Expr(Name Expr(AsColumn(ncol))) / :"N Rows"n
))
));
dt_copy << Move Selected Columns({new_col}, after(Eval(ncol)))
);
이전 JMP가 있는 경우 For Each를 For 루프로 바꿔야 합니다.