목록에 저장된 이름이 있는 모든 열을 합산합니다.아래에 대략 같은 이름을 포함하는 열 목록을 만들었습니다.
엑스리스트 = {};
Y리스트 = {};
for(i = 1, i < ncols(dt2), i++,
만약에(
contains(dt2:i<< get name, "XXX") > 0, insert into(Xlist, dt2:i<< get name),
contains(dt2:i<< get name, "YYY") > 0, insert into(Ylist, dt2:i<< get name),
)
);
Xcolumn과 Ycolumn의 합계를 제공하는 새 열을 만들고 싶습니다. 그것은 나에게 전혀 잘 작동하지 않습니다. 내가 뭔가 제대로 하지 않으면 안되는데.... 도와주세요.
dt2 << New Column( "Xsum", Numeric, Continuous, Format( "Best", 12 ),
공식(
합계(평가(X리스트)),
)
);
Re: 목록에 저장된 이름을 가진 모든 열을 합산합니다.와 짐, 고마워.
이것은 완벽하게 작동합니다.
Re: 목록에 저장된 이름을 가진 모든 열을 합산합니다.새 열 내의 수식 섹션은 예상대로 구문 분석 및 평가되지 않습니다.이를 처리하는 가장 좋은 방법은 완전한 New Column 구의 리터럴 문자열을 수동으로 입력한 다음 해당 행을 실행하는 것과 정확히 일치하는 것임을 알았습니다.아래 코드는
Names Default To Here( 1 );
dt2 = Current Data Table();
Xlist = "";
Ylist = "";
For( i = 1, i < N Cols( dt2 ), i++,
If(
Contains( column(dt2,i) << get name, "XXX" ) > 0, Xlist=Xlist || ":" || char(column(dt2,i) << get name) || ",",
Contains( column(dt2,i) << get name, "YYY" ) > 0, Ylist=Ylist || ":" || char(column(dt2,i) << get name) || ","
)
);
eval(parse("dt2 << New Column( \!"Xsum\!", Numeric, Continuous, Format( \!"Best\!", 12 ), Formula( Sum( "||Xlist ||") ) );"));
eval(parse("dt2 << New Column( \!"Ysum\!", Numeric, Continuous, Format( \!"Best\!", 12 ), Formula( Sum( "||Ylist ||") ) );"));