는 SAS변수 이름과 그 값을 열로 읽는 방법은 무엇입니까?
data 1
var1 var2 var3
1 2 3
2 3 1
data 2
no var4
1 var1= 1, var2= 2, var3=3
2 var1=2, var2= 3, var3= 1
난 당신이 이런 식으로 뭔가를 찾고 계십니까 데이터 1 데이터
는 SAS변수 이름과 그 값을 열로 읽는 방법은 무엇입니까?
data 1
var1 var2 var3
1 2 3
2 3 1
data 2
no var4
1 var1= 1, var2= 2, var3=3
2 var1=2, var2= 3, var3= 1
난 당신이 이런 식으로 뭔가를 찾고 계십니까 데이터 1 데이터
변수 이름을 하드 코딩하지 않으려는 경우 아래 코드가 작동해야합니다. 는 IF를 피하는 키스의 코드
data have;
input var1 var2 var3;
cards;
1 2 3
2 3 1
;
run;
data want;
set have;
length var4 $50;
array vars{*} var1--var3;
do i=1 to dim(vars);
if i=1 then var4=cats(vname(vars{i}),"=",vars{i});
else call cats(var4,",",vname(vars{i}),"=",vars{i});
end;
drop i;
run;
2로 옮겨진 싶지을 사용하여 설정 한 다른 데이터의 컬럼에 넣어 변수와 그 값의 이름을 알아?
DATA data1;
INPUT var1 var2 var3;
CARDS;
1 2 3
2 3 1
;
RUN;
data data2;
set data1;
no=_N_;
var11= catx("= ","var1",var1);
var21= catx("= ","var2",var2);
var31= catx("= ","var3",var3);
var4= catx(", ",var11,var21,var31);
drop var1 var2 var3 var11 var21 var31 ;
run;
약간 간단한 버전은 : 당신이 "알고"하지 않으려면
data have;
input var1 var2 var3;
cards;
1 2 3
2 3 1
;
run;
data want;
set have;
array vars var1-var3;
array varns $ varn1-varn3;
do i = 1 to dim(vars);
varns[i] = cats(vname(vars[i]),'=',vars[i]);
end;
var4 = catx(',', of varns[*]);
keep var4;
run;
변수 이름은 일부 파일 마법을 사용할 수 있습니다.
filename FT49F001 dummy;
data new;
set sashelp.class;
file FT49f001;
put (_all_)(+(-1) ', ' =) @;
length newvar $512;
newvar = substr(_file_,3);
put;
run;
proc print;
run;