Economics & Deeplearning

변수값을 끌어와서 데이터셋 이름을 바꾸려면 어떻게 할까요? 본문

SAS/SAS 질문과 답변

변수값을 끌어와서 데이터셋 이름을 바꾸려면 어떻게 할까요?

이슈카 2016. 2. 20. 13:27



문제를 단순화시켜서 서술하겠습니다.

 

 

데이터셋이 A1, A2, .... A100 까지 있습니다.

 

각 데이터셋에는 x 라는 변수 하나만 있고, 관측치는 하나입니다.

각 데이터셋마다 x 변수의 값은 다릅니다.

 

예컨대,

 

A1 에서 x = 3

A2 에서 x = 5 

A3 에서 x = 7

 

등등..

 

이 상태에서, x 값을 읽어와서 데이터셋의 이름을 다음과 같이 바꾸고 싶습니다.

 

A1 --> B3

A2 --> B5

A3 --> B7

 

이것을 A1 부터 A100 까지 매크로를 써서 하고 싶은데, 어떻게 하면 좋을까요?

================================================================================


%macro makefile;
%do i=1 %to 100; data a&i ;
x= 1+2*&i; run;%end;
%mend;
%makefile;

%macro makefile2;
%do i=1 %to 100;
data _null_;
set a&i;
call symput ('name',left(x));
run;
proc datasets lib=work nolist;
change a&i=b&name;
quit;
%end;
%mend;
%makefile2;

Comments