全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3814 4
2012-06-29
各位大侠,我现在有一数据集,变量有300多个,拟应用同一宏程序生成300多个小数据集,请问如何自动生成序号相连的数据集?宏程序如下:

%macro a1;
data a1;
set sasuser.zy;
keep &b1 group;
proc sort data=a1;
by group;
run;
proc means  n mean std max min median maxdec=2;/*定义了表A的小数点后位数,不能用于其它表*/
var &b1;
by group;
OUTPUT OUT=b4 n=N mean=MEAN std=STD max=MAX min=MIN median=MEDIAN ;

proc print data=b4;
run;
%mend a1;

注:&b1即是变量名,有年龄、血压等300余个变量。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-6-29 08:11:11
这300多个数据集是不是每个数据集就两个变量 group 和 300多个变量中的其中一个
300多个数据集就是每个要求min、max的变量一个数据集??
二维码

扫码加我 拉你入群

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

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

2012-6-29 10:15:48
是的,其实就是将变量分别按GROUP分组进行描述性统计,生成不同的表,我的目的是,再将这些表进行纵向合并,生成自动报表。谢谢楼上的关注,如能提供帮助,不胜感激!
二维码

扫码加我 拉你入群

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

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

2012-6-29 12:17:57
那就是堆叠列吧
比如原数据有
group a b
1 1 1
1 1 2
2 1 1
那就是最终得到
group name value
1        a      1
1        a      1
1        b      1
1        b      2
2        a      1
2        a      2
是这个意思吗?

二维码

扫码加我 拉你入群

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

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

2012-6-29 12:21:21
你看看菜单这个选项是否是你要的结果
解决方案->分析->分析家
然后打开数据表
然后菜单
数据->堆叠列

你研究一下是否这个要求
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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