모든 열 이름을 동적으로 변경<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />기존 JMP 파일과 연결하려는 텍스트 파일을 여는 중입니다.불행히도 두 파일의 열 이름이 일치하지 않으므로 쉽게 연결할 수 없습니다.연결될 특정 JMP 파일의 이름과 일치하도록 텍스트 파일의 열 이름을 변경하려고 합니다.상황을 더욱 복잡하게 만들기 위해 다양한 텍스트 및 JMP 데이터 파일에서 열의 수와 위치가 변경됩니다.예를 들어
텍스트 파일 1 열 이름
tair_avg rh_avg rain_total dew_point_avg leaf_wetness_min windspeed_avg
JMP 데이터 파일 1
Tair_(C) RH(%) 강우량(mm) 이슬점(C) 잎 습기(mV) 풍속(mph)
텍스트 파일 2 열 이름
rh_avg tair_avg 이슬점_avg 비_총 풍속_avg tsoil_5cm_avg tsoil_15cm_avg
JMP 데이터 파일 2
RH (%) Tair_(C) 이슬점 (C) 강우량(mm) 풍속 (mph) Tsoil @ 5cm (C) Tsoil @ 15cm (C)
텍스트 파일 열 이름을 조건부로 평가하고 해당 JMP 데이터 파일의 이름과 일치하도록 변경하는 가장 좋은 방법이 무엇인지 잘 모르겠습니다.다양한 JMP 데이터 파일 간에 모든 열 이름이 일관되기 때문에 기온은 항상 Tair(C)이므로 조회 테이블이나 여러 If Then Else가 작동할 수 있다고 생각했습니다.
colname = tair_avg이면 colname = Tair(C) Else
colname = rh_avg이면 colname = RH(%) Else
colname = windspeed_avg이면 colname = 풍속(mph)
......
그러나 내 JMP 파일에는 100개 이상의 열이 포함될 수 있으므로 많은 IF 문을 사용하는 것이 실용적이거나 효율적이지 않은 것 같습니다.이를 수행하는 가장 좋은 방법에 대한 아이디어나 제안을 주시면 감사하겠습니다.
Re: 모든 열 이름을 동적으로 변경PMroz님 감사합니다.귀하의 솔루션은 많은 Try 명령이 포함된 솔루션보다 훨씬 낫습니다(아래 참조).
노력하다(
유형( 열( "이름" ) );
열( dt, "이름" ) << 이름 설정( "이름" );
);
노력하다(
유형( 열( "나이" ) );
열( dt, "나이" ) << 이름 설정( "나이" );
);
노력하다(
유형( 열( "공기" ) );
Column( dt, "air" ) << Set Name( "Tair (C)" );
);
Re: 모든 열 이름을 동적으로 변경// 텍스트 파일에서 가능한 모든 열 목록
text_col_list = { "tair_avg" , "rh_avg" , "rain_total" , "이슬점 평균" , "leaf_wetness_min" , "windspeed_avg" } ;
// text_col_list와 같은 순서로 모든 새 열 이름 목록
jmp_col_list = { "테어_(C)" , "RH(%)" , "강우량(mm)" , "이슬점(C)" , "잎 습기(mV)" , "풍속(mph)" } ;
dt = 데이터 테이블 ( "텍스트 파일 1" ) ;
col_name_list = dt << 열 이름 가져오기 ( 끈 ) ;
~을 위한 ( 나 = 1 , 나 <= 니트템 ( text_col_list ) , 나 ++,
만약에 ( 포함 ( col_name_list , text_col_list [ 나 ]) ,
열 ( dt , text_col_list [ 나 ]) << 세트 이름 ( jmp_col_list [ 나 ]) ;
) ;
) ;