data a;input num $11. id $2. aa$10. ab $10. ar ac;
cards;
13404800000 a 2006-04-01 2007-04-01 800 968
13404800007 b 2006-05-01 2011-04-01 209 1164
13404800012 c 2006-12-19 2013-03-01 38 22
13404800014 c 2006-12-08 2012-08-01 11 1
13404800016 c 2006-12-30 2011-05-01 121 566
13404800020 d 2006-06-30 2010-09-01 136 478
……
;
run;
proc format;
value fd 0-<10="<10元"
10-<20=">=10元and<20元"
20-<50=">=20元and<50元"
50-<80=">=50元and<80元"
80-<120=">=80元and<120元"
120-<200=">=120元and<200元"
200 <- high=">=200元";
run;
现在想得到以ar为分类变量(用format过程分组如上),id出现的个数(id取值有限,且会重复出现,无论出现多少次都按一次算)和num出现的个数(num取值不会重复,一个代表一个人)。就是一张二维表,列变量是ar.
比如说当ar在200以上这个区间里,id出现了2次(如果a出现多次按一次算),num出现了2个,不同的取值代表不同的人。
我本来是用tabulate做的,但得到的结果中id出现的次数不对,还有就是id和num的所有取值都展开了,但我需要的只是最终加总的结果。
哪位大侠指教一下,谢谢!