全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1456 9
2015-09-05
首先呢,我的表是这样的
国家 省份 市区 县 村  年份 月份 数据1 数据2 数据3 数据4 ......

前面的分类变量是从国家一直到村,也就是5个,我要分别求各个分类变量每月的汇总数据

所以我想到了宏
大致的意思是,

proc sql;
   create table &name as
   select 年份,月份,&na,sum......
   from ....
   group by ......;
quit;

现在就是name 和 na的赋值方面搞了好多都成功不了
主要卡在了,如果给宏变量赋字符串,它不能把它当做变量名来识别,会出一个新的变量,内容就是赋的字符串的内容

也试了数组的循环,仍然不行,难道没有更好的方法了吗?

求解~
二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-5 20:35:37
为什么不用proc means?
data test;
        input cl $ c2 $ c3 $ c4 $ c5 $ num1 num2;
        datalines;
        A1 B1 C1 D1 E1 56 89
        A1 B1 C1 D2 E2 56 89
        A1 B2 C2 D2 E2 56 89
        A2 B2 C1 D1 E2 56 89
        ;
run;

proc means data = work.test n mean ;
        var num1;
        class cl;
run;


proc means data = work.test n mean ;
        var num1;
        class c2;
run;
二维码

扫码加我 拉你入群

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

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

2015-9-5 21:35:16
你怎么赋值的?
二维码

扫码加我 拉你入群

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

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

2015-9-6 09:03:35
复制代码
应该会有更好的求合计的办法,这个宏只是解决你指的那个问题的
二维码

扫码加我 拉你入群

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

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

2015-9-6 11:35:56
ljw5122 发表于 2015-9-5 20:35
为什么不用proc means?
data test;
        input cl $ c2 $ c3 $ c4 $ c5 $ num1 num2;
是可以,但是每个变量的的汇总方式不一样,有的是计数,有的是按条件汇总,有的是求和,所以没用这个,不是一样的。
二维码

扫码加我 拉你入群

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

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

2015-9-6 11:42:56
teqel 发表于 2015-9-5 21:35
你怎么赋值的?
在sql中只是有几个语句涉及到比如:
select ^
group by ^
共同有的字段都放好,不同的字段用值来赋;
比如省份的
%let name=国家,省份;

然后在上面两个语句中,就  &name. 加上就行了

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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