funnyxuke 发表于 2010-5-10 07:10 
original sas data:
变量比较多
v1 mean_v1 v2 mean_v2 v3 mean_v3 v4.................
a 5.6 b 7.3 c 4.8 d
变成
v mean_v
a 5.6
b 7.3
c 4.8
d
......
有什么简单的方法吗?
谢谢
Here is an example to use arrays.
data tmp;
v1='a';
mean_v1=5.6;
v2='b';
mean_v2=7.3;
v3='c';
mean_v3 =4.8;
fmtname='mapv.';
run;
data tmp2;
length vname $2;
set tmp;
array mean(*) mean_v1 mean_v2 mean_v3;
array v(*) v1 v2 v3;
do i = 1 to dim(mean);
vname=v(i);
mean_v=mean(i);
output;
end;
keep vname mean_v;
run;
proc print;run;