열 이름에 문자열이 포함 된 모든 열을 합치십시오.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />데이터 테이블을 가져 와서 열 이름에 "ToAdd"문자열이 포함 된 모든 열을 합한 수식이있는 열을 추가하려고합니다. 나는이 이름을 어딘가에 "ToAdd"가 될 열이 바뀔 것이기 때문에 이것을 스크립트하려고하고있다.
지금까지 모든 열 이름을 목록으로 수집 할 수있는 스크립트가 있지만 그 목록을 사용하여 모든 열을 함께 합한 수식이있는 새 열을 생성하는 방법을 모르겠습니다. 이것은 시작하는 가장 좋은 방법 인 것 같았지만 여기에서 어디로 가야하는지 확신 할 수 없습니다 (또는 시작하는 것이 정말로 좋은 방법 일 경우)
dt = 현재 데이터 테이블 ();
N = N · Col (dt);
AddColumns = {};
For (i = 1, i <= N, i ++,
colname = Column (i) << getname ();
(Contains (colname, "ToAdd")> 1,
삽입 위치 (AddColumns, colname)
);
)
);
사전에 도움을 주셔서 감사합니다!
제목 : Re : 컬럼 이름에 문자열이 포함 된 모든 컬럼 합계매력처럼 작동합니다!
감사,
다니엘
제목 : Re : 컬럼 이름에 문자열이 포함 된 모든 컬럼 합계좋은 시작입니다. 그러나 스크립트로 열 수식을 설정하려면 인수가 문자 그대로 해석되므로 약간 까다 롭습니다. 수식을 동적으로 작성하는 작업에는 보통 문자열 또는 표현식을 작성하여 최종적으로 구문 분석 / 평가하는 과정이 포함됩니다. 그렇지 않으면 로컬 또는 세션 별 변수가 공식에 포함되어 예상대로 작동하지 않습니다. 적어도 그것은 나의 경험입니다.
다음은 문자열 방식을 사용하는 예제입니다.
dt = 현재 데이터 표 () ;
엔 = N Col ( dt ) ;
에스 = "" ;
에 대한 ( 나는 = 1 , 나는 <= 엔 , 나는 ++,
colname = 기둥 ( 나는 ) << getname () ;
만약 ( 내용 ( colname , "ToAdd" ) > 0 ,
에스 = 에스 || 만약 ( 길이 ( 에스 ) > 0 , "," , "" ) || colname
) ;
) ;
보여 주다 ( 에스 ) ;
안부 = dt << 새 열 ( "Sum (AddColumns)" , 숫자 ) ;
평가 ( 파싱 ( 평가 삽입 ( "col << 세트 수식 (sum (^ s ^))" ) ) ) ;