수식에서 열 인덱스(열 이름 대신)를 사용하는 방법.안녕,
for 루프에서 이 작업을 수행하려고 합니다.
현재 테이블에는 14개의 열이 있습니다. 3~14열은 "Step 1"에서 "Step 12"로 명명하였다.
for 루프에서 수식 (Col(4) -Col(2))로 계산되는 열 #15(i = 2, i <=12, i++에 대해 "델타 단계 i"로 명명됨)를 만들고 싶습니다. 그런 다음 열 # 3이 삭제되었습니다. 동일한 공식이 다음 반복에서 재사용됩니다.
여기서 두 가지 문제,
1) 출력 테이블의 Column#15에 값이 없으므로 내 수식이 작동하지 않습니다.
2) 3열이 감지되면 15열(실제로 14열, 3열이 삭제된 후)의 값이 사라질까 걱정됩니다.
여기 내 스크립트가 있습니다.
For(i=2,i<=15,i++,
DeltaStep = "Delta Step "||Char(i);
New Column(DeltaStep)<<FORMULA></FORMULA>
나는 또한 이것을 시도했지만 작동하지 않습니다.
For(i=2,i<=12,i++,
DeltaStep = "Delta Step "||Char(i);
Pre = Column(3) << getname;
Pst = Column(4) << getname;
New Column(DeltaStep)<<FORMULA></FORMULA>
Re: 수식에서 열 이름 대신 열 인덱스를 사용하는 방법입니다.잘 잡았다! 사람들은 행 단위 계산을 위해 Column(#) 또는 Column("name")에 빈 대괄호( [] ) 또는 As Column() 래퍼가 필요하다는 사실을 종종 잊습니다. 나는 참조를 열 머리글과 속성에 대한 포인터로 생각하고 ref[]는 벡터 또는 값 목록을 노출합니다.
열 삭제에 대해서는 테이블 메시지입니다.열을 미리 선택하지 않고 아래의 JSL을 사용할 수 있습니다.
dt << Delete Columns( 3 );
또 다른 일반적인 실수는 다른 열 수식의 인수로 사용되는 열을 삭제하려고 시도하는 것입니다.Col 4가 Col 3을 참조하는 수식을 사용한다고 가정합니다. 열 4에서 종속 수식을 제거해야 열 3을 삭제할 수 있습니다.
이것은 대부분의 경우 << Set Each Value(expression) vs. Formula(expression)를 사용하는 또 다른 이유이며, 그러면 새 열이 잠기지 않고 종속성이 존재하지 않습니다.
Re: 수식에서 열 이름 대신 열 인덱스를 사용하는 방법입니다."열 삭제" expr도 잘못되었습니다.
여기에 올바른 스크립트를 첨부했습니다. 이 작업을 수행하는 더 좋은 방법이 있으면 알려주십시오.
감사해요!
For(i=2,i<=12,i++,
DeltaStep = "Delta Step "||Char(i);
New Column(DeltaStep,formula(Column(4)[] - Column(3)[]));
Column(3) << Set Selected;
dt << Delete Columns
);
Re: 수식에서 열 이름 대신 열 인덱스를 사용하는 방법입니다.제가 왜 이 일을 제대로 하지 못하는지 알게 된 것 같아요...
내 게시물의 첫 번째 스크립트의 경우 Column(3) 뒤에 []를 추가해야 합니다...
감사해요,
자호