<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 전체 수식은 같지만 변수는 다른 여러 열을 빠르게 입력하고 싶습니다.
나는 다음을 시도했지만 명확하게 New Column 함수에서 Fomula 항목을 호출하는 데 적절한 구문을 사용하고 있지 않습니다.
여기에 기본 이름(1);
dt = 현재 데이터 테이블();
cc = N 열(dt); // 원래 열 번호 유지
(i=9,i<= cc, i = i+2,
새 열("Delta " || 열 이름(i+1),
숫자,
마디 없는,
Formula (:Column Name(i+1) - :Column Name (i)) // 문법 문제
);
);
도와주셔서 감사합니다.
감사합니다.
이 스크립트는 당신이 추구하는 것과 가까운 것을 만들 수 있습니다.New Column 함수에 대한 수식 매개변수는 스크립트가 실행된 후인 실제로 실행될 때 있어야 하는 형식으로 완전히 작성된 수식을 필요로 합니다.아래의 eval( evalexpr( ... expr(...) ... expr(...) ... ) ) 전략은 필요한 작업을 수행하는 한 가지 방법입니다.expr()은 평가해야 하는 부분에 태그를 지정하는 데 사용됩니다.evalexpr()은 그것들을 추적하고 평가합니다.eval()은 evaexpr에 의해 반환된 표현식을 평가합니다.두 expr() 사이의 빼기는 for 루프 내에서 평가되지 않지만, names[i+1]은 평가되고(evalexpr에 의해) NewColumn IS 평가됩니다(eval에 의해).
<
dt = 새 테이블( "제목 없음",
행 추가( 1 ),
새 열( "a", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [1] ) ),
새 열( "b", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [2] ) ),
새 열( "c", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [4] ) ),
새 열( "d", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [8] ) ),
새 열( "e", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [16] ) ),
새 열( "f", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [32] ) )
);
cc = N 열(dt);
이름=dt<
For( i = 1, i <= cc, i = i + 2,
Eval( // 다음에 의해 반환된 표현식을 평가합니다...
Eval Expr( // 포함된 expr을 평가합니다...
New Column( "Delta " || char(names[ i + 1 ]), // 열을 문자열로 변환
숫자, 연속,
// 수식은 자체적으로 평가되지 않습니다.이 경우에는 두 개의 expr이 필요합니다.
공식( Expr( 이름[ i + 1 ] ) - Expr( 이름[ i ] ) )
)
)
)
);
/* ----- 결과 스크립트 ---
새 테이블( "제목 없음",
행 추가( 1 ),
새 열( "a", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [1] ) ),
새 열( "b", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [2] ) ),
새 열( "c", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [4] ) ),
새 열( "d", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [8] ) ),
새 열( "e", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [16] ) ),
새 열( "f", 숫자, "연속", 형식( "최고", 12 ), 값 설정( [32] ) ),
New Column( "Delta b", Numeric, "Continuous", Format( "Best", 10 ), Formula(
- :ㅏ ) ),
New Column( "Delta d", Numeric, "Continuous", Format( "Best", 10 ), Formula( :d - :c ) ),
New Column( "Delta f", Numeric, "Continuous", Format( "Best", 10 ), Formula( :f - :e ) )
)
*/
