全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学习笔记1.0
1082 1
2013-05-21
取一个数据集中每个变量的前n个值得宏程序,供参考下。data a;input x y z;cards;1 2 31 22 4422 44 7766 88 9922 55 6534 35 4623 25 2890 100 10023 89 8834 38 89123 122 19978 56 90;run;
proc contents data=work.a out=varname;run;
proc print data=varname;run;
proc sql;select name into:vname separated by ' 'from varname;quit;
%put &vname.;
%macro sort(name,n);%let i=1;
%do %while (%left(%scan(&name.,&i.)) ne %quote( ));%let var=%scan(&vname.,&i.);%put &var.;
proc sort data=a  out=v&i.;by  descending &var.;run;data var&i.(keep=&var.);set v&i.(obs=&n.);run;
%let i=%eval(&i.+1);%put &i.;%end;data aa;merge var1 %do i= 2 %to 3;var&i %end;;run;%mend;%sort(&vname.,10);

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-5-21 22:41:54
我擦,怎么是这么个破格式。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群