모두,
다음과 같은 경우 도움이 필요합니다.
문자열 형식의 열 이름이 있습니다.
이전 열을 기반으로 수식을 사용하여 새 열을 만들어야 합니다. 나는 다음과 같이 한다.
oldCol = "OldColumn";
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
그런 다음 나중에 스크립트에서 이전 열의 이름을 바꿔야 합니다. 나는 이것을 이렇게 한다:
Column(oldCol) << Set Name("NewOldColumn");이제 문제는 New Column의 공식이 다음과 같은 형식으로 되어 있기 때문입니다.
As Column("OldColumn")OldColumn이 이름을 변경할 때 업데이트되지 않습니다.
의 형태로 갖고 싶습니다.
:OldColumn
하지만 어떻게 해야할지 모르겠습니다.
따라서 질문은 다음과 같습니다. 표현식을 수정하려면 어떻게 해야 합니까?
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
의 형태로 공식을 생성합니다. : 이전 열 , 그리고 형식이 아닌 열로("OldColumn") ?
플레이할 전체 스크립트는 다음과 같습니다.
dt = New Table( "TestColumnsReferences",
Add Rows( 3 ),
New Column( "OldColumn", Character, "Nominal", Set Values( {"a", "b", "c"} ) )
);
oldCol = (dt << Get Column Names(string))[1];
//oldCol = "OldColumn";
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
Column(oldCol) << Set Name("NewOldColumn");고마워, M.
나는 그렇게하는 한 가지 방법을 봅니다 (그러나 오히려 이런 식으로하지 마십시오).
열 이름을 문자열이 아니라 참조로 가져온 다음 사용하십시오. 이름 Expr() :
oldCol = (dt << Get Column Names())[1];<BR />Eval( Eval Expr( dt << New Column( "NewColumn", formula( Name Expr( oldCol ) ) ) ) );
하지만 이미 열 이름을 문자열로 가지고 있으며 계속 사용하고 싶습니다.