Re: 목록에서 수식 열 만들기( JSL )다음은 문제를 처리하는 한 가지 방법입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
theList = {"varnish pct", "ink pct", "solvent pct"};
col_list = {"varnish pct", "ink pct", "solvent pct"};
Eval(
Parse(
"dt << New Column( \!"mysum\!",
Formula( " ||
concat items( theList, "," ) || " ) )
);"
)
);
수식은 공개 코드이기 때문에 실제가 생성되는 대로 평가되지 않으므로 JMP에서 제대로 처리하려면 완성된 문장이어야 합니다.
Re: 목록에서 수식 열 만들기( JSL )코드는 작동하지만 "Sum()"이 누락되었습니다.
답변을 수정하면 수락하겠습니다. 감사해요 
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
col_list = {"varnish pct", "ink pct", "solvent pct"};
Eval(
Parse(
"dt << New Column( \!"mysum\!",
Formula( Sum(" ||
concat items( col_list, "," ) || " ) )
);"
)
);
Re: 목록에서 수식 열 만들기( JSL )가능한 한 Eval(Parse()) 사용을 피하려고 합니다(가장 쉬운 방법인 경우가 많음에도 불구하고). 일반적으로 이와 같은 경우 (지금) 수식 내에서 표현식을 작성하고 해당 표현식을 평가합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
col_list = {"varnish pct", "ink pct", "solvent pct"};
// 1
sum_expr = Expr(Sum());
For Each({item}, col_list,
Insert Into(sum_expr, Name Expr(As Column(dt, item)));
);
//show(Name Expr(sum_expr));
Eval(EvalExpr(
dt << New Column( "mysum",
Formula(Expr(Name Expr(sum_expr)))
)
));
// 2
col_listing = Transform Each({item}, col_list,
Name Expr(As Column(dt, item));
);
Eval(Substitute(
Expr(dt << New Column( "mysum", Formula(_sums_))),
Expr(_sums_), Substitute(col_listing, Expr(List()), Expr(Sum()));
));목록에서 수식 열 만들기( JSL )목록에서 오는 열을 추가하기 위한 간단한 수식을 만들고 싶습니다.
목록은 요소의 수에 따라 다를 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
col_list = {"varnish pct", "ink pct", "solvent pct" };
<BR />// expected formula (hard coded)
dt << New Column( "mysum",
Formula( Sum( :varnish pct, :ink pct, :solvent pct ) )
);
이 솔루션은 Col Sum에서 작동합니다.
https://community.jmp.com/t5/Discussions/Using-list-of-columns-in-formulas/td-p/405133
고급 통계 모델링