c******s 发帖数: 287 | 1 我想把数据按年代split成每年一个数据表。
data SS06 SS07 SS08 SS09 SS10 SS11 SS12;
SET SS;
IF YEAR="2006" then output SS06;
IF YEAR="2007" then output SS07;
IF YEAR="2008" then output SS08;
IF YEAR="2009" then output SS09;
IF YEAR="2010" then output SS10;
IF YEAR="2011" then output SS11;
IF YEAR="2012" then output SS12;
RUN;
有没有好的办法不需要一个个输year=“20**” then output SS**,如果是variable的
话可以用array,不知道数据表可不可以简化? SAS新手求指教,不知道有没有把问题
说清楚。。。
先谢谢啦~~ |
d********i 发帖数: 193 | 2 不知道有没有理解正确~
%macro split;
data %do k = 2006 %to 2012; ss&k %end;;
set ss;
%do k = 2006 %to 2012;
if year = &k then output ss&k;
%end;
run;
%mend;
%split; |
c******s 发帖数: 287 | 3 恩恩,谢谢MM,刚才run了一下对滴~~ 给你一个新年包子表示谢意 ^_^
【在 d********i 的大作中提到】 : 不知道有没有理解正确~ : %macro split; : data %do k = 2006 %to 2012; ss&k %end;; : set ss; : %do k = 2006 %to 2012; : if year = &k then output ss&k; : %end; : run; : %mend; : %split;
|
s****u 发帖数: 1200 | 4 写得真好。受教了
★ 发自iPhone App: ChineseWeb 7.8
【在 d********i 的大作中提到】 : 不知道有没有理解正确~ : %macro split; : data %do k = 2006 %to 2012; ss&k %end;; : set ss; : %do k = 2006 %to 2012; : if year = &k then output ss&k; : %end; : run; : %mend; : %split;
|