수식의 열 이름에 따옴표를 사용할 수 있습니까?안녕하세요,
테이블에 다음과 같은 간단한 스크립트가 있습니다.
dataTable = Current Data Table();
If( !Contains( strColNames, "pears" ),
dataTable << New Column( "pears",
numeric,
"Continuous",
Formula( :"apples" + 2 )
)
);
이 스크립트를 이미 "사과"라는 채워진 열이있는 새 테이블 (ctrl-c ctrl-v 사용)에 복사하면 스크립트는 다음과 같이 끝납니다.
dataTable = Current Data Table();
If( !Contains( strColNames, "pears" ),
dataTable << New Column( "pears",
numeric,
"Continuous",
Formula( As Column() + 2 )
)
);
수식에서 열 "사과"에 대한 참조가 As Column () 문으로 대체되었습니다. 스크립트가 더 이상 작동하지 않습니다. 수식에서 열 "사과"에 대한 참조에서 따옴표를 제거하면 문제가 해결 된 것으로 나타났습니다.
나는 이것을 버그라고 생각한다. 아니면 예상 된 행동입니까?
안부, Radko
Re : 수식에서 열 이름에 따옴표를 사용할 수 있습니까?나는 이것을 약간 다르게한다. 아래 함수를 사용하여 열을 만듭니다. 열이 있으면 단순히 열 핸들을 반환하고 열이 없으면 새 열을 만들어 핸들을 반환합니다. 따라서 사용법은 다음과 같습니다.
PearCol = createcol (dt, "Pears", "NUMERIC"); // "NUMERIC"또는 "CHARACTER"
AppleCol = createcol (dt, "사과", "숫자");
PearCol << 각 값을 설정하십시오 (AppleCol [] + 2);
'각 값 설정'을 사용하는 것이 더 좋지만 응용 프로그램에서 더 적합한 경우 공식을 설정할 수도 있습니다.
CreateCol = 기능 ({ct, ccn, ColType},
{기본 로컬},
CreateColExpr = Expr (
stuff = __CurDataTable__ << 새 열 (__ColName__, __ColType__)
);
stuff = 시도 (Column (ct, ccn), -1);
대기 (0);
만약 (stuff == -1,
CreateColumn = 대체 (Name Expr (CreateColExpr),
Expr (__ColType__), 구문 분석 (ColType),
Expr (__CurDataTable__), Eval (ct),
Expr (__ColName__), 평가 (ccn)
);
쇼 (CreateColumn);
평가 (CreateColumn);
);
물건;
);
Re : 수식에서 열 이름에 따옴표를 사용할 수 있습니까?따옴표는 수동으로 처리해야합니다. 아래 코드를 참조하십시오.
dataTable = Current Data Table();
If( !Contains( strColNames, "\!"pears\!"" ),
dataTable << New Column( "\!"pears\!"",
numeric,
"Continuous",
Formula( :Name( "\!"apples\!"" ) + 2 )
)
);