정규식으로 여러 열 이름 다시 코딩
안녕하세요 여러분!
JSL의 Recode Column 함수에 정규식 대체를 적용하여 스크립트가 모든 열을 검토하고 해당되는 경우 모든 열에 정규식을 적용하도록 하려고 합니다.
이것은 내가 테스트 한 코드입니다.
Names Default To Here(1);
dt = Current Data Table();
//Create list of columns to be recoded
ColN = dt << Get Column Names();
// Iterate over the list of columns and recode each one
For Each({listitem}, ColN,
dt << Recode Column(
As Column(listitem),
{Regex(_rcNow, "erm", "testtest", GLOBALREPLACE)},
Target Column(Column(listitem))
);
);이 오류가 발생합니다.
이름 미해결: 'LocalTime' 액세스 또는 평가에 있는 LocalTime , LocalTime/*###*/
LocalTime은 내 데이터 세트의 13개 열 중 첫 번째 열입니다.
도움을 주시면 감사하겠습니다!
스크립팅Re: 정규식을 사용하여 여러 열 이름 다시 코딩열 이름을 바꾸는 함수가 아니라 Recode Column을 사용했다는 것을 방금 깨달았습니다...
열 이름을 다시 코딩하는 전용 기능이 있습니까? 그것을 달성하는 다른 방법이 있습니까?
Re: 정규식을 사용하여 여러 열 이름 다시 코딩목록이 지정된 경우 목록 내의 어떤 요소도 실행하지 않습니다.따라서 코더는 목록이 JMP로 전달되기 전에 목록을 완전히 확장해야 합니다.다음은 문제를 처리하는 한 가지 방법입니다.
Names Default To Here( 1 );
dt = Current Data Table();
//Create list of columns to be recoded
ColN = dt << Get Column Names(string);
// Iterate over the list of columns and recode each one
For Each( {listitem}, ColN,show(listitem);
Eval(
Substitute(
Expr(
dt << Recode Column(
As Column( listitem ),
{Regex( __rcNow__, "erm", "testtest", GLOBALREPLACE )},
Target Column( Column( listitem ) )
)
),
Expr( __rcNow__ ), listitem
)
)
);