2014-04-04 4 views
0

내 보낸 파일 이름이 루프 반복을 반영하는 많은 파일을 내보내려고합니다. 나는 내 보낸 파일 이름은 다음 코드 대신 원하는 "history_0.dta"의 "history_의 %의 i.dta", "history_1.dta", "history_2.dta"등 ... 사용루프 인덱스를 사용하여 파일 이름을 내보내는 방법

%macro exporthistory; 
    %do i = 0 %to 9; 
     proc export data = a.history&i outfile = "LOCATION/history_%i.dta"; 
     run; 
    %end; 
%mend exporthistory; 

%exporthistory; 

미리 감사드립니다!

+0

이것은 Stata로 내보내고 있습니다. 맞습니까? – Joe

답변

2

history_%i.dta을 'history_ & i..dta'로 변경하십시오. 올바르게 이전 사용으로

%macro exporthistory; 
    %do i = 0 %to 9; 
    proc export data = a.history&i outfile = "LOCATION/history_&i..dta"; 
    run; 
    %end; 
%mend exporthistory; 

%exporthistory; 

앰퍼샌드 ("&")는 매크로 변수 분리 문자입니다. 또한 두 번째 마침표는 매크로 변수 인 &i.이고 두 번째 마침표는 파일 이름의 일부입니다.

+0

'history_ % i.dta'를 'history_ & i.dta'로 변경했음을 강조 할 가치가 있습니다. '&'변경 사항에 '%'를 추가하는 데 시간이 걸립니다. – rambles

+0

사실 감사합니다. – Joe

+0

굉장합니다. 정말 고마워! 나는 초심자 질문의 얼마가 이것을인지 지금 깨닫는다, 그러나 ... 나는 초심자이다 그래서 이해된다. – BobBell

관련 문제