For 루프의 수식에서 열 번호를 기준으로 열 참조안녕 모두,
한 번에 "for"루프를 사용하여 여러 개의 새로운 열을 생성하려고 시도하고 있으며 각 열은 "sample"행렬의 다음 항목으로 명명됩니다. 그 부분을 알아낼 수 있다고 생각합니다. 그러나 각 열에는 매번 다른 열을 조회하는 수식을 포함하고 그 값을 초기 값 (열 "0")에서 뺍니다. 이것을 실행할 때 계산식 평가 오류가 발생하고 열이 참조하는 열을 계산하지 않습니다.
당신의 도움을 주셔서 감사합니다!
sample = {0, 1, 2, ...}
new columns = N Items (sample);
for( i=1, i<= new columns, i++, col = num(sample [i]);
dt << New Column (sample [i] || " Days", formula (as column (13+i+new columns) - :Name("0")))
);Re : For 루프의 수식에서 열 번호로 열 참조정말 고맙습니다!!
Re : For 루프의 수식에서 열 번호로 열 참조내 오류. 따옴표 쌍을 제거하려면 문자열을 파싱해야합니다.
Names Default To Here( 1 );
dt = Current Data Table();
sample = {0, 1, 2};
new columns = N Items( sample );
For( i = 1, i <= new columns, i++,
col = Num( sample[i] );
colNamesList = dt << Get Column Names;
Wait( 0 );
Eval(
Substitute(
Expr(
dt << New Column( sample[i] || " Days",
formula( __column__ - :Name( "0" ) )
)
),
Expr( __column__ ),
Parse(":Name(\!"" || colNamesList[13 + i + new columns] || "\!")")
)
);
);Re : For 루프의 수식에서 열 번호로 열 참조도와 주셔서 감사합니다 !! 이 솔루션은 거의 작동하지만 마지막 비트 하나가 붙어 있습니다.
현재 결과 스프레드 시트는 다음과 같은 공식을 제공합니다.
":Name(\!"5\!")" - 0
나는 상반기가 "5"라는 열을 참조하기를 원합니다. 후반부는 "0"이라고하는 열을 참조합니다. 내가하는 일과 상관없이 상반기에 이름 ( "5")을 표시 할 수는 없습니다. 따옴표를 다시 포맷하거나 이동하려고하면 해당 테마에 변형이 생깁니다.
다시 한 번 감사드립니다!
Re : For 루프의 수식에서 열 번호로 열 참조현재 수식의 문제는 변수 "i"및 "New Columns"입니다. 당신이 가정하고있는 것은 계산이 최종 계산으로 평가되고 As Column () 함수에 배치된다는 것입니다. 문제는 공식에 포함 된 것이 As Column (13 + i + new columns)입니다. 따라서 수식이 실행될 때 열을 만들 때 "i"및 "새 열"값이 없지만 수식을 계산하거나 다시 계산할 때마다 값이 사용됩니다. "i"와 "New Columns"가 스크립트 내에서 변경되므로 문제가 발생합니다. 이제 수식을 정의하기 전에 수식을 변경하여 수식을 정의한 다음 수식에 열 번호를 대입 할 수 있습니다. 그러나이 문제는 열 번호를 사용하여 테이블의 열을 이동하거나 삭제하면 수식의 열 번호가 변경되지 않으므로 계산이 잘못됩니다. 대신 공식 대신 실제 열 이름을 사용하는 것이 좋습니다. 아래 스크립트는이를 수행하는 방법을 보여줍니다.
Names Default To Here( 1 );
dt = Current Data Table();
sample = {0, 1, 2};
new columns = N Items( sample );
For( i = 1, i <= new columns, i++,
col = Num( sample[i] );
colNamesList = dt << Get Column Names;
Wait( 0 );
Eval(
Substitute(
Expr(
dt << New Column( sample[i] || " Days",
formula( __column__ - :Name( "0" ) )
)
),
Expr( __column__ ),
":Name(\!"" || colNamesList[13 + i + new columns] || "\!")"
)
);
);